├── .github ├── label-pr.yml ├── pr-labeler.yml ├── release-drafter.yml └── workflows │ ├── autopep8.yml │ ├── pr_labeler.yml │ ├── python_linter.yml │ ├── pythonpackage.yml │ ├── release-drafter.yml │ └── shell_linter.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── nets-in-progress ├── 8r-1c-srv6-pm │ ├── .env │ ├── README.md │ ├── docs │ │ └── images │ │ │ └── topology.png │ ├── etc-hosts │ ├── isis8d.py │ └── nodeconf │ │ ├── common │ │ ├── commons.sh │ │ └── ipset_start.sh │ │ ├── controller │ │ └── start.sh │ │ ├── h11 │ │ └── start.sh │ │ ├── h12 │ │ └── start.sh │ │ ├── h13 │ │ └── start.sh │ │ ├── h31 │ │ └── start.sh │ │ ├── h32 │ │ └── start.sh │ │ ├── h33 │ │ └── start.sh │ │ ├── h51 │ │ └── start.sh │ │ ├── h52 │ │ └── start.sh │ │ ├── h53 │ │ └── start.sh │ │ ├── h81 │ │ └── start.sh │ │ ├── h82 │ │ └── start.sh │ │ ├── h83 │ │ └── start.sh │ │ ├── hdc1 │ │ └── start.sh │ │ ├── hdc2 │ │ └── start.sh │ │ ├── hdc3 │ │ └── start.sh │ │ ├── r1 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r2 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r3 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r4 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r5 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r6 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r7 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ └── r8 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf ├── ditella-8r-1c-srv6-pm │ ├── .env │ ├── IPv6-Reflector │ ├── README.md │ ├── cleanup │ ├── docs │ │ └── images │ │ │ └── topology.png │ ├── etc-hosts │ ├── isis8d.py │ ├── isis8d.py.backup │ ├── nodeconf │ │ ├── common │ │ │ ├── commons.sh │ │ │ └── ipset_start.sh │ │ ├── controller │ │ │ └── start.sh │ │ ├── h11 │ │ │ └── start.sh │ │ ├── h12 │ │ │ └── start.sh │ │ ├── h13 │ │ │ └── start.sh │ │ ├── h31 │ │ │ └── start.sh │ │ ├── h32 │ │ │ └── start.sh │ │ ├── h33 │ │ │ └── start.sh │ │ ├── h51 │ │ │ └── start.sh │ │ ├── h52 │ │ │ └── start.sh │ │ ├── h53 │ │ │ └── start.sh │ │ ├── h81 │ │ │ └── start.sh │ │ ├── h82 │ │ │ └── start.sh │ │ ├── h83 │ │ │ └── start.sh │ │ ├── hdc1 │ │ │ └── start.sh │ │ ├── hdc2 │ │ │ └── start.sh │ │ ├── hdc3 │ │ │ └── start.sh │ │ ├── r1 │ │ │ ├── controller.cfg │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r2 │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r3 │ │ │ ├── controller.cfg │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r4 │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r5 │ │ │ ├── controller.cfg │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r6 │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r7 │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ └── r8 │ │ │ ├── controller.cfg │ │ │ ├── isisd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ ├── reflector │ ├── sender │ ├── twamp.py │ ├── twamp_dM.py │ ├── twamp_test_reflector.py │ └── twamp_test_sender.py └── riolo-8r-1c-srv6-pm │ ├── .env │ ├── IPv6-Reflector │ ├── README.md │ ├── SRv6-List │ ├── cleanup │ ├── docs │ └── images │ │ └── topology.png │ ├── etc-hosts │ ├── isis8d.py │ ├── nodeconf │ ├── common │ │ ├── commons.sh │ │ └── ipset_start.sh │ ├── controller │ │ └── start.sh │ ├── h11 │ │ └── start.sh │ ├── h12 │ │ └── start.sh │ ├── h13 │ │ └── start.sh │ ├── h31 │ │ └── start.sh │ ├── h32 │ │ └── start.sh │ ├── h33 │ │ └── start.sh │ ├── h51 │ │ └── start.sh │ ├── h52 │ │ └── start.sh │ ├── h53 │ │ └── start.sh │ ├── h81 │ │ └── start.sh │ ├── h82 │ │ └── start.sh │ ├── h83 │ │ └── start.sh │ ├── hdc1 │ │ └── start.sh │ ├── hdc2 │ │ └── start.sh │ ├── hdc3 │ │ └── start.sh │ ├── r1 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r2 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r3 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r4 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r5 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r6 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r7 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ └── r8 │ │ ├── controller.cfg │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── reflector │ ├── sender │ ├── twamp.py │ ├── twamp_dM.py │ ├── twamp_test_reflector.py │ └── twamp_test_sender.py ├── nets-unmantained ├── 3routers │ ├── nodeconf │ │ ├── h1 │ │ │ └── start.sh │ │ ├── h2 │ │ │ └── start.sh │ │ ├── h3 │ │ │ └── start.sh │ │ ├── r1 │ │ │ ├── ospfd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ ├── r2 │ │ │ ├── ospfd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ │ └── r3 │ │ │ ├── ospfd.conf │ │ │ ├── start.sh │ │ │ └── zebra.conf │ └── ospf3r.py ├── 8r-1c-out-band-isis │ ├── .env │ ├── README.md │ ├── docs │ │ └── images │ │ │ └── topology.png │ ├── etc-hosts │ ├── isis8d.py │ └── nodeconf │ │ ├── controller │ │ └── start.sh │ │ ├── h11 │ │ └── start.sh │ │ ├── h12 │ │ └── start.sh │ │ ├── h13 │ │ └── start.sh │ │ ├── h31 │ │ └── start.sh │ │ ├── h32 │ │ └── start.sh │ │ ├── h33 │ │ └── start.sh │ │ ├── h51 │ │ └── start.sh │ │ ├── h52 │ │ └── start.sh │ │ ├── h53 │ │ └── start.sh │ │ ├── h81 │ │ └── start.sh │ │ ├── h82 │ │ └── start.sh │ │ ├── h83 │ │ └── start.sh │ │ ├── hdc1 │ │ └── start.sh │ │ ├── hdc2 │ │ └── start.sh │ │ ├── hdc3 │ │ └── start.sh │ │ ├── r1 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r2 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r3 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r4 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r5 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r6 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r7 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ └── r8 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf └── 8routers │ ├── README.md │ ├── etc-hosts │ ├── nodeconf │ ├── h11 │ │ └── start.sh │ ├── h12 │ │ └── start.sh │ ├── h13 │ │ └── start.sh │ ├── h31 │ │ └── start.sh │ ├── h32 │ │ └── start.sh │ ├── h33 │ │ └── start.sh │ ├── h51 │ │ └── start.sh │ ├── h52 │ │ └── start.sh │ ├── h53 │ │ └── start.sh │ ├── h81 │ │ └── start.sh │ ├── h82 │ │ └── start.sh │ ├── h83 │ │ └── start.sh │ ├── hdc1 │ │ └── start.sh │ ├── hdc2 │ │ └── start.sh │ ├── hdc3 │ │ └── start.sh │ ├── r1-example-ospfv3 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r1 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r2 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r3 │ │ ├── .ospfd.conf.swp │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r4 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r5 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r6 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── r7 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ └── r8 │ │ ├── ospf6d.conf │ │ ├── start.sh │ │ └── zebra.conf │ ├── ospf8r.py │ └── ospf8r.pyc ├── nets ├── 8r-1c-in-band-isis │ ├── .env │ ├── README.md │ ├── docs │ │ └── images │ │ │ └── topology.png │ ├── etc-hosts │ ├── isis8d.py │ └── nodeconf │ │ ├── controller │ │ └── start.sh │ │ ├── h11 │ │ └── start.sh │ │ ├── h12 │ │ └── start.sh │ │ ├── h13 │ │ └── start.sh │ │ ├── h31 │ │ └── start.sh │ │ ├── h32 │ │ └── start.sh │ │ ├── h33 │ │ └── start.sh │ │ ├── h51 │ │ └── start.sh │ │ ├── h52 │ │ └── start.sh │ │ ├── h53 │ │ └── start.sh │ │ ├── h81 │ │ └── start.sh │ │ ├── h82 │ │ └── start.sh │ │ ├── h83 │ │ └── start.sh │ │ ├── hdc1 │ │ └── start.sh │ │ ├── hdc2 │ │ └── start.sh │ │ ├── hdc3 │ │ └── start.sh │ │ ├── r1 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r2 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r3 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r4 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r5 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r6 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r7 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ └── r8 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf ├── 8routers-isis-ipv6 │ ├── README.md │ ├── etc-hosts │ ├── isis8d.py │ └── nodeconf │ │ ├── h11 │ │ └── start.sh │ │ ├── h12 │ │ └── start.sh │ │ ├── h13 │ │ └── start.sh │ │ ├── h31 │ │ └── start.sh │ │ ├── h32 │ │ └── start.sh │ │ ├── h33 │ │ └── start.sh │ │ ├── h51 │ │ └── start.sh │ │ ├── h52 │ │ └── start.sh │ │ ├── h53 │ │ └── start.sh │ │ ├── h81 │ │ └── start.sh │ │ ├── h82 │ │ └── start.sh │ │ ├── h83 │ │ └── start.sh │ │ ├── hdc1 │ │ └── start.sh │ │ ├── hdc2 │ │ └── start.sh │ │ ├── hdc3 │ │ └── start.sh │ │ ├── r1 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r2 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r3 │ │ ├── .ospfd.conf.swp │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r4 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r5 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r6 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ ├── r7 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf │ │ └── r8 │ │ ├── isisd.conf │ │ ├── start.sh │ │ └── zebra.conf └── 8routers-named-netns │ └── named-ns-8r.sh ├── requirements.txt └── scripts ├── attach-host └── run-tmux /.github/label-pr.yml: -------------------------------------------------------------------------------- 1 | - regExp: ".*\\.ts+$" 2 | labels: ["typescript"] 3 | - regExp: ".*\\.sql+$" 4 | labels: ["database", "critical"] 5 | - regExp: ".*/docs/" 6 | labels: ["documentation"] 7 | - regExp: ".*\\.png+$" 8 | labels: ["images"] 9 | - regExp: "^(pom\\.xml|package\\.json|build\\.gradle)$" 10 | labels: ["dependencies"] 11 | - regExp: ".*/requirements.txt" 12 | labels: ["dependencies"] 13 | - regExp: ".*\\.(zip|jar|war|ear)+$" 14 | labels: ["artifact", "invalid"] 15 | - regExp: ".*/setup.py" 16 | labels: ["build"] 17 | - regExp: "^.github/" 18 | labels: ["github-workflow"] 19 | - regExp: "^nets/8r-1c-in-band-isis/" 20 | labels: ["topology/8r-1c-in-band-isis"] 21 | - regExp: "^nets/8routers-isis-ipv6/" 22 | labels: ["topology/8routers-isis-ipv6"] 23 | - regExp: "^nets-unmantained/8r-1c-out-band-isis/" 24 | labels: ["topology/8r-1c-out-band-isis"] 25 | - regExp: "^nets-unmantained/3routers/" 26 | labels: ["topology/3routers"] 27 | - regExp: "^nets-unmantained/8routers/" 28 | labels: ["topology/8routers"] 29 | - regExp: "^nets-in-progress/8r-1c-srv6-pm/" 30 | labels: ["topology/8r-1c-srv6-pm"] 31 | - regExp: ".*/.env" 32 | labels: ["configuration"] 33 | -------------------------------------------------------------------------------- /.github/pr-labeler.yml: -------------------------------------------------------------------------------- 1 | feature: ['feature/*', 'feat/*', 'feature-*', 'feat-*'] 2 | bug: ['fix/*', 'fix-*'] 3 | chore: ['chore/*', 'chore-*'] 4 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name-template: 'v$RESOLVED_VERSION 🌈' 2 | tag-template: 'v$RESOLVED_VERSION' 3 | categories: 4 | - title: '🚀 Features' 5 | labels: 6 | - 'feature' 7 | - 'enhancement' 8 | - title: '🐛 Bug Fixes' 9 | labels: 10 | - 'fix' 11 | - 'bugfix' 12 | - 'bug' 13 | - title: '🧰 Maintenance' 14 | label: 'chore' 15 | change-template: '- $TITLE @$AUTHOR (#$NUMBER)' 16 | version-resolver: 17 | major: 18 | labels: 19 | - 'major' 20 | minor: 21 | labels: 22 | - 'minor' 23 | - 'feature' 24 | - 'enhancement' 25 | patch: 26 | labels: 27 | - 'patch' 28 | - 'fix' 29 | - 'bugfix' 30 | - 'bug' 31 | default: patch 32 | exclude-labels: 33 | - 'skip-changelog' 34 | template: | 35 | ## Changes 36 | $CHANGES 37 | -------------------------------------------------------------------------------- /.github/workflows/pr_labeler.yml: -------------------------------------------------------------------------------- 1 | # Workflow to associate labels automatically 2 | name: labeler 3 | 4 | # Trigger the workflow on pull request events 5 | on: [pull_request] 6 | 7 | jobs: 8 | label: 9 | runs-on: ubuntu-latest 10 | steps: 11 | # We need to checkout the repository to access the configured file (.github/label-pr.yml) 12 | - uses: actions/checkout@v2 13 | - name: Labeler 14 | uses: docker://decathlon/pull-request-labeler-action:2.0.0 15 | env: 16 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 17 | # Here we can override the path for the action configuration. If none is provided, default one is `.github/label-pr.yml` 18 | # CONFIG_PATH: ${{ secrets.GITHUB_WORKSPACE }}/.github/label-pr.yml 19 | 20 | pr-labeler: 21 | runs-on: ubuntu-latest 22 | steps: 23 | - uses: TimonVS/pr-labeler-action@v3 24 | # with: 25 | # configuration-path: .github/pr-labeler.yml # optional, .github/pr-labeler.yml is the default value 26 | env: 27 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 28 | -------------------------------------------------------------------------------- /.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter 2 | 3 | on: 4 | push: 5 | # branches to consider in the event; optional, defaults to all 6 | branches: 7 | - master 8 | 9 | jobs: 10 | update_release_draft: 11 | runs-on: ubuntu-latest 12 | steps: 13 | # Drafts your next Release notes as Pull Requests are merged into "master" 14 | - uses: release-drafter/release-drafter@v5 15 | # with: 16 | # (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml 17 | # config-name: my-config.yml 18 | env: 19 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 20 | -------------------------------------------------------------------------------- /.github/workflows/shell_linter.yml: -------------------------------------------------------------------------------- 1 | name: Shell Linter 2 | 3 | # Controls when the action will run. Triggers the workflow on push or pull request 4 | # events but only for the master branch 5 | on: 6 | push: 7 | branches: [ master ] 8 | pull_request: 9 | branches: [ master ] 10 | 11 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 12 | jobs: 13 | shell-lint: 14 | # The type of runner that the job will run on 15 | runs-on: ubuntu-latest 16 | 17 | # Steps represent a sequence of tasks that will be executed as part of the job 18 | steps: 19 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 20 | - uses: actions/checkout@v2 21 | 22 | - name: Shell Linter 23 | uses: reviewdog/action-shellcheck@v1 24 | with: 25 | github_token: ${{ secrets.github_token }} 26 | reporter: github-pr-review # Change reporter. 27 | path: "." # Optional. 28 | pattern: "*.sh" # Optional. 29 | exclude: "./.git/*" # Optional. 30 | fail_on_error: true 31 | level: "info" 32 | shellcheck_flags: --severity=style --external-sources 33 | filter_mode: "nofilter" 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | *.pyc 4 | *.log 5 | *.pid 6 | *.swp 7 | 8 | nets-unmantained/3routers/starter.sh 9 | nets-unmantained/8routers/starter.sh 10 | nets/8routers-isis-ipv6/starter.sh 11 | nets/8r-1c-in-band-isis/starter.sh 12 | nets-unmantained/8r-1c-out-band-isis/starter.sh 13 | nets-in-progress/8r-1c-srv6-pm/starter.sh 14 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "nets-in-progress/ditella-8r-1c-srv6-pm/twampy"] 2 | path = nets-in-progress/ditella-8r-1c-srv6-pm/twampy 3 | url = https://github.com/nokia/twampy 4 | 5 | [submodule "nets-in-progress/riolo-8r-1c-srv6-pm/twampy"] 6 | path = nets-in-progress/riolo-8r-1c-srv6-pm/twampy 7 | url = https://github.com/nokia/twampy 8 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/.env: -------------------------------------------------------------------------------- 1 | export WORKSPACE=/home/rose/workspace 2 | export ROSE_SRV6_TUTORIAL=${WORKSPACE}/rose-srv6-tutorial 3 | 4 | # Configure SRV6_PFPML_PATH 5 | export SRV6_PFPML_PATH=/opt/srv6-pm-xdp-ebpf/srv6-pfplm 6 | 7 | # Node manager params 8 | export NODE_MANAGER_PATH=${CONTROL_PLANE}/srv6_controller/node-manager/ 9 | export NODE_MANAGER_GRPC_PORT=12345 10 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/docs/images/topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets-in-progress/8r-1c-srv6-pm/docs/images/topology.png -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/etc-hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | 127.0.1.1 rose-srv6 3 | 4 | # The following lines are desirable for IPv6 capable hosts 5 | ::1 ip6-localhost ip6-loopback 6 | fe00::0 ip6-localnet 7 | ff00::0 ip6-mcastprefix 8 | ff02::1 ip6-allnodes 9 | ff02::2 ip6-allrouters 10 | 11 | # Mininet hosts 12 | fcff:1::1 r1 13 | fcff:2::1 r2 14 | fcff:3::1 r3 15 | fcff:4::1 r4 16 | fcff:5::1 r5 17 | fcff:6::1 r6 18 | fcff:7::1 r7 19 | fcff:8::1 r8 20 | fd00:0:11::2 h11 21 | fd00:0:12::2 h12 22 | fd00:0:13::2 h13 23 | fd00:0:31::2 h31 24 | fd00:0:32::2 h32 25 | fd00:0:33::2 h33 26 | fd00:0:51::2 h51 27 | fd00:0:52::2 h52 28 | fd00:0:53::2 h53 29 | fd00:0:81::2 h81 30 | fd00:0:82::2 h82 31 | fd00:0:83::2 h83 32 | fcff:2:1::2 hdc1 33 | fcff:8:1::2 hdc2 34 | fcff:5:1::2 hdc3 35 | 36 | fcfd:0:0:fd::1 controller.m 37 | fcfd:0:0:1::1 r1.m 38 | fcfd:0:0:2::1 r2.m 39 | fcfd:0:0:3::1 r3.m 40 | fcfd:0:0:4::1 r4.m 41 | fcfd:0:0:5::1 r5.m 42 | fcfd:0:0:6::1 r6.m 43 | fcfd:0:0:7::1 r7.m 44 | fcfd:0:0:8::1 r8.m 45 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/common/commons.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function source_file_if_defined() 4 | { 5 | local fname="$1" 6 | 7 | if [ -z "${fname+x}" ]; then 8 | # variable not defined 9 | return 0; 10 | fi 11 | 12 | # shellcheck source=/dev/null 13 | source "${fname}" || return $? 14 | 15 | return 0 16 | } 17 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/controller/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=controller 4 | SW_NAME=sw 5 | IF_NAME=$NODE_NAME-$SW_NAME 6 | IP_ADDR=fcfd:0:0:fd::1/48 7 | 8 | ip -6 addr add $IP_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r1/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/isisd.log 4 | ! 5 | !interface r1-h11 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r1-h12 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r1-h13 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r1-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 49.0001.1111.1111.1111.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface r1-sw 23 | ipv6 address fcfd:0:0:1::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:1::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r2/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/isisd.log 4 | ! 5 | interface r2-r1 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r2-r3 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r2-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.2222.2222.2222.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty 31 | 32 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-sw 20 | ipv6 address fcfd:0:0:2::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:2::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r3/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/isisd.log 4 | ! 5 | !interface r3-h31 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r3-h32 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r3-h33 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r3-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r3-r4 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.3333.3333.3333.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty 41 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface r3-sw 26 | ipv6 address fcfd:0:0:3::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:3::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! 35 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r4/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/isisd.log 4 | ! 5 | interface r4-r3 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r4-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r4-r6 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.4444.4444.4444.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r4/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r4 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface r4-sw 20 | ipv6 address fcfd:0:0:4::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:4::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r5/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/isisd.log 4 | ! 5 | !interface r5-h51 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r5-h52 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r5-h53 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r5-r4 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r5-r6 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.5555.5555.5555.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-sw 26 | ipv6 address fcfd:0:0:5::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:5::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r6/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/isisd.log 4 | ! 5 | interface r6-r4 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r6-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r6-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r6-r8 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.6666.6666.6666.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r6/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r6 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface r6-sw 23 | ipv6 address fcfd:0:0:6::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:6::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r7/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/isisd.log 4 | ! 5 | interface r7-r2 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r7-r6 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r7-r8 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.7777.7777.7777.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r7/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r7 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface r7-sw 20 | ipv6 address fcfd:0:0:7::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:7::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r8/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/isisd.log 4 | ! 5 | !interface r8-h81 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r8-h82 11 | ! ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r8-h83 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r8-r6 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r8-r7 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.8888.8888.8888.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty -------------------------------------------------------------------------------- /nets-in-progress/8r-1c-srv6-pm/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-sw 26 | ipv6 address fcfd:0:0:8::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:8::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/.env: -------------------------------------------------------------------------------- 1 | export WORKSPACE=/home/rose/workspace 2 | export ROSE_SRV6_TUTORIAL=${WORKSPACE}/rose-srv6-tutorial 3 | 4 | # Configure SRV6_PFPML_PATH 5 | export SRV6_PFPML_PATH=/opt/srv6-pm-xdp-ebpf/srv6-pfplm 6 | 7 | # Node manager params 8 | export NODE_MANAGER_PATH=${CONTROL_PLANE}/srv6_controller/node-manager/ 9 | export NODE_MANAGER_GRPC_PORT=12345 10 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/IPv6-Reflector: -------------------------------------------------------------------------------- 1 | fcff:7::1 2 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/cleanup: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | rm IPv6-Reflector 4 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/docs/images/topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets-in-progress/ditella-8r-1c-srv6-pm/docs/images/topology.png -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/etc-hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | 127.0.1.1 rose-srv6 3 | 4 | # The following lines are desirable for IPv6 capable hosts 5 | ::1 ip6-localhost ip6-loopback 6 | fe00::0 ip6-localnet 7 | ff00::0 ip6-mcastprefix 8 | ff02::1 ip6-allnodes 9 | ff02::2 ip6-allrouters 10 | 11 | # Mininet hosts 12 | fcff:1::1 r1 13 | fcff:2::1 r2 14 | fcff:3::1 r3 15 | fcff:4::1 r4 16 | fcff:5::1 r5 17 | fcff:6::1 r6 18 | fcff:7::1 r7 19 | fcff:8::1 r8 20 | fd00:0:11::2 h11 21 | fd00:0:12::2 h12 22 | fd00:0:13::2 h13 23 | fd00:0:31::2 h31 24 | fd00:0:32::2 h32 25 | fd00:0:33::2 h33 26 | fd00:0:51::2 h51 27 | fd00:0:52::2 h52 28 | fd00:0:53::2 h53 29 | fd00:0:81::2 h81 30 | fd00:0:82::2 h82 31 | fd00:0:83::2 h83 32 | fcff:2:1::2 hdc1 33 | fcff:8:1::2 hdc2 34 | fcff:5:1::2 hdc3 35 | 36 | fcfd:0:0:fd::1 controller.m 37 | fcfd:0:0:1::1 r1.m 38 | fcfd:0:0:2::1 r2.m 39 | fcfd:0:0:3::1 r3.m 40 | fcfd:0:0:4::1 r4.m 41 | fcfd:0:0:5::1 r5.m 42 | fcfd:0:0:6::1 r6.m 43 | fcfd:0:0:7::1 r7.m 44 | fcfd:0:0:8::1 r8.m 45 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/common/commons.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function source_file_if_defined() 4 | { 5 | local fname="$1" 6 | 7 | if [ -z "${fname+x}" ]; then 8 | # variable not defined 9 | return 0; 10 | fi 11 | 12 | # shellcheck source=/dev/null 13 | source "${fname}" || return $? 14 | 15 | return 0 16 | } 17 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/controller/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=controller 4 | SW_NAME=sw 5 | IF_NAME=$NODE_NAME-$SW_NAME 6 | IP_ADDR=fcfd:0:0:fd::1/48 7 | 8 | ip -6 addr add $IP_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r1/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/isisd.log 4 | ! 5 | !interface r1-h11 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r1-h12 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r1-h13 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r1-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 49.0001.1111.1111.1111.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface r1-sw 23 | ipv6 address fcfd:0:0:1::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:1::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r2/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/isisd.log 4 | ! 5 | interface r2-r1 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r2-r3 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r2-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.2222.2222.2222.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty 31 | 32 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-sw 20 | ipv6 address fcfd:0:0:2::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:2::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r3/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/isisd.log 4 | ! 5 | !interface r3-h31 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r3-h32 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r3-h33 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r3-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r3-r4 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.3333.3333.3333.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty 41 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface r3-sw 26 | ipv6 address fcfd:0:0:3::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:3::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! 35 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r4/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/isisd.log 4 | ! 5 | interface r4-r3 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r4-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r4-r6 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.4444.4444.4444.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r4/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r4 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface r4-sw 20 | ipv6 address fcfd:0:0:4::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:4::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r5/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/isisd.log 4 | ! 5 | !interface r5-h51 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r5-h52 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r5-h53 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r5-r4 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r5-r6 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.5555.5555.5555.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-sw 26 | ipv6 address fcfd:0:0:5::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:5::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r6/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/isisd.log 4 | ! 5 | interface r6-r4 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r6-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r6-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r6-r8 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.6666.6666.6666.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface r6-sw 23 | ipv6 address fcfd:0:0:6::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:6::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r7/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/isisd.log 4 | ! 5 | interface r7-r2 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r7-r6 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r7-r8 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.7777.7777.7777.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface r7-sw 20 | ipv6 address fcfd:0:0:7::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:7::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r8/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/isisd.log 4 | ! 5 | !interface r8-h81 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r8-h82 11 | ! ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r8-h83 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r8-r6 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r8-r7 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.8888.8888.8888.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-sw 26 | ipv6 address fcfd:0:0:8::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:8::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/reflector: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # saving IPV6 address into a file 4 | ip a | grep lo: -A 5 | grep global | cut -d " " -f 6 | cut -d "/" -f 1 > IPv6-Reflector 5 | 6 | # executing nokia's twampy implementation 7 | #python ./twampy/twampy.py responder $(cat IPv6-Reflector) 8 | 9 | # executing scapy custom implementation 10 | python3 ./twamp_test_reflector.py 11 | -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/sender: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | ## saving IPV6 address into a file 4 | #ip a | grep lo: -A 5 | grep global | cut -d " " -f 6 | cut -d "/" -f 1 > IPv6-Sender 5 | 6 | # executing nokia's twampy implementation 7 | #python ./twampy/twampy.py sender $(cat IPv6-Reflector) 8 | 9 | # executing scapy custom implementation 10 | python3 ./twamp_test_sender.py -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/twamp_test_reflector.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | from scapy.all import * 4 | from scapy.layers.inet import IP,UDP 5 | from scapy.layers.inet6 import IPv6 6 | 7 | import twamp 8 | import twamp_dM 9 | 10 | 11 | reflector = twamp_dM.Reflector() 12 | t_dm = twamp_dM.TWAMPDelayMeasurement(reflector=reflector) 13 | 14 | 15 | t_dm.start() -------------------------------------------------------------------------------- /nets-in-progress/ditella-8r-1c-srv6-pm/twamp_test_sender.py: -------------------------------------------------------------------------------- 1 | 2 | from scapy.all import * 3 | from scapy.layers.inet import IP,UDP 4 | 5 | from scapy.layers.inet6 import IPv6 6 | import twamp 7 | import twamp_dM 8 | import time 9 | 10 | 11 | reflector_file = open("IPv6-Reflector", "r") 12 | dst_addr = reflector_file.readline().split('\n')[0] 13 | 14 | sender = twamp_dM.Sender(dst_addr) 15 | t_dm = twamp_dM.TWAMPDelayMeasurement(sender=sender) 16 | 17 | 18 | t_dm.start() 19 | 20 | time.sleep(2) 21 | sender.sendSenderDelayPacket() 22 | 23 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/.env: -------------------------------------------------------------------------------- 1 | export WORKSPACE=/home/rose/workspace 2 | export ROSE_SRV6_TUTORIAL=${WORKSPACE}/rose-srv6-tutorial 3 | 4 | # Configure SRV6_PFPML_PATH 5 | export SRV6_PFPML_PATH=/opt/srv6-pm-xdp-ebpf/srv6-pfplm 6 | 7 | # Node manager params 8 | export NODE_MANAGER_PATH=${CONTROL_PLANE}/srv6_controller/node-manager/ 9 | export NODE_MANAGER_GRPC_PORT=12345 10 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/IPv6-Reflector: -------------------------------------------------------------------------------- 1 | fcff:8::1 2 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/SRv6-List: -------------------------------------------------------------------------------- 1 | fcff:3::1 2 | fcff:6::1 3 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/cleanup: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | rm IPv6-Reflector 4 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/docs/images/topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets-in-progress/riolo-8r-1c-srv6-pm/docs/images/topology.png -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/etc-hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | 127.0.1.1 rose-srv6 3 | 4 | # The following lines are desirable for IPv6 capable hosts 5 | ::1 ip6-localhost ip6-loopback 6 | fe00::0 ip6-localnet 7 | ff00::0 ip6-mcastprefix 8 | ff02::1 ip6-allnodes 9 | ff02::2 ip6-allrouters 10 | 11 | # Mininet hosts 12 | fcff:1::1 r1 13 | fcff:2::1 r2 14 | fcff:3::1 r3 15 | fcff:4::1 r4 16 | fcff:5::1 r5 17 | fcff:6::1 r6 18 | fcff:7::1 r7 19 | fcff:8::1 r8 20 | fd00:0:11::2 h11 21 | fd00:0:12::2 h12 22 | fd00:0:13::2 h13 23 | fd00:0:31::2 h31 24 | fd00:0:32::2 h32 25 | fd00:0:33::2 h33 26 | fd00:0:51::2 h51 27 | fd00:0:52::2 h52 28 | fd00:0:53::2 h53 29 | fd00:0:81::2 h81 30 | fd00:0:82::2 h82 31 | fd00:0:83::2 h83 32 | fcff:2:1::2 hdc1 33 | fcff:8:1::2 hdc2 34 | fcff:5:1::2 hdc3 35 | 36 | fcfd:0:0:fd::1 controller.m 37 | fcfd:0:0:1::1 r1.m 38 | fcfd:0:0:2::1 r2.m 39 | fcfd:0:0:3::1 r3.m 40 | fcfd:0:0:4::1 r4.m 41 | fcfd:0:0:5::1 r5.m 42 | fcfd:0:0:6::1 r6.m 43 | fcfd:0:0:7::1 r7.m 44 | fcfd:0:0:8::1 r8.m 45 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/common/commons.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function source_file_if_defined() 4 | { 5 | local fname="$1" 6 | 7 | if [ -z "${fname+x}" ]; then 8 | # variable not defined 9 | return 0; 10 | fi 11 | 12 | # shellcheck source=/dev/null 13 | source "${fname}" || return $? 14 | 15 | return 0 16 | } 17 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/controller/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=controller 4 | SW_NAME=sw 5 | IF_NAME=$NODE_NAME-$SW_NAME 6 | IP_ADDR=fcfd:0:0:fd::1/48 7 | 8 | ip -6 addr add $IP_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r1/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/isisd.log 4 | ! 5 | !interface r1-h11 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r1-h12 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r1-h13 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r1-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 49.0001.1111.1111.1111.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface r1-sw 23 | ipv6 address fcfd:0:0:1::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:1::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r2/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/isisd.log 4 | ! 5 | interface r2-r1 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r2-r3 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r2-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.2222.2222.2222.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty 31 | 32 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-sw 20 | ipv6 address fcfd:0:0:2::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:2::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r3/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/isisd.log 4 | ! 5 | !interface r3-h31 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r3-h32 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r3-h33 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r3-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r3-r4 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.3333.3333.3333.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty 41 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface r3-sw 26 | ipv6 address fcfd:0:0:3::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:3::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! 35 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r4/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/isisd.log 4 | ! 5 | interface r4-r3 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r4-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r4-r6 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.4444.4444.4444.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface r4-sw 20 | ipv6 address fcfd:0:0:4::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:4::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r5/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/isisd.log 4 | ! 5 | !interface r5-h51 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r5-h52 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r5-h53 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r5-r4 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r5-r6 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.5555.5555.5555.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-sw 26 | ipv6 address fcfd:0:0:5::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:5::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r6/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/isisd.log 4 | ! 5 | interface r6-r4 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r6-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r6-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r6-r8 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.6666.6666.6666.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface r6-sw 23 | ipv6 address fcfd:0:0:6::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:6::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r7/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/isisd.log 4 | ! 5 | interface r7-r2 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r7-r6 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r7-r8 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.7777.7777.7777.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface r7-sw 20 | ipv6 address fcfd:0:0:7::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:7::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r8/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/isisd.log 4 | ! 5 | !interface r8-h81 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r8-h82 11 | ! ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r8-h83 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r8-r6 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r8-r7 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.8888.8888.8888.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-sw 26 | ipv6 address fcfd:0:0:8::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:8::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/reflector: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # saving IPV6 address into a file 4 | ip a | grep lo: -A 5 | grep global | cut -d " " -f 6 | cut -d "/" -f 1 > IPv6-Reflector 5 | 6 | # executing nokia's twampy implementation 7 | #python ./twampy/twampy.py responder $(cat IPv6-Reflector) 8 | 9 | # executing scapy custom implementation 10 | python3 ./twamp_test_reflector.py 11 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/sender: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | ## saving IPV6 address into a file 4 | #ip a | grep lo: -A 5 | grep global | cut -d " " -f 6 | cut -d "/" -f 1 > IPv6-Sender 5 | 6 | # executing nokia's twampy implementation 7 | #python ./twampy/twampy.py sender $(cat IPv6-Reflector) 8 | 9 | # executing scapy custom implementation 10 | python3 ./twamp_test_sender.py -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/twamp_test_reflector.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | from scapy.all import * 4 | from scapy.layers.inet import IP,UDP 5 | from scapy.layers.inet6 import IPv6 6 | 7 | import twamp 8 | import twamp_dM 9 | 10 | # segment list file (file esempio con 2 segmenti) 11 | seg_file = open("SRv6-List", "r") 12 | seg_list = seg_file.read().splitlines() # suppose symmetric path for sender and reflector 13 | seg_file.close 14 | # ho la lista dei segmenti per il momento 15 | # immagino di avere un db con SSID|SegList in cui tramite il SSID 16 | # seleziono la seglist corrispondente 17 | # (src e dst IP + src e dst UDP --> SSID) 18 | 19 | 20 | reflector = twamp_dM.Reflector(seg_list) 21 | t_dm = twamp_dM.TWAMPDelayMeasurement(reflector=reflector) 22 | 23 | 24 | t_dm.start() 25 | -------------------------------------------------------------------------------- /nets-in-progress/riolo-8r-1c-srv6-pm/twamp_test_sender.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | from scapy.all import * 3 | from scapy.layers.inet import IP,UDP 4 | 5 | from scapy.layers.inet6 import IPv6 6 | import twamp 7 | import twamp_dM 8 | import time 9 | 10 | 11 | reflector_file = open("IPv6-Reflector", "r") 12 | dst_addr = reflector_file.readline().split('\n')[0] 13 | reflector_file.close 14 | 15 | # segment list file (file esempio con 2 segmenti) 16 | seg_file = open("SRv6-List", "r") 17 | seg_list = seg_file.read().splitlines() 18 | seg_file.close 19 | # ho la lista dei segmenti per il momento, 20 | # immagino di avere un db con SSID|SegList in cui tramite il SSID 21 | # seleziono la seglist relativa 22 | # (src e dst IP + src e dst UDP --> SSID) 23 | 24 | sender = twamp_dM.Sender(dst_addr, seg_list) # segment list added to Sender class 25 | 26 | t_dm = twamp_dM.TWAMPDelayMeasurement(sender=sender) 27 | 28 | 29 | t_dm.start() 30 | 31 | time.sleep(2) 32 | sender.sendSenderDelayPacket() 33 | 34 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/h1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h1 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=10.101.0.2/16 7 | GW_ADDR=10.101.0.1 8 | 9 | ip addr add $IP_ADDR dev $IF_NAME 10 | ip route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/h2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h2 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=10.102.0.2/16 7 | GW_ADDR=10.102.0.1 8 | 9 | ip addr add $IP_ADDR dev $IF_NAME 10 | ip route add default via $GW_ADDR dev $IF_NAME 11 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/h3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h3 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=10.103.0.2/16 7 | GW_ADDR=10.103.0.1 8 | 9 | ip addr add $IP_ADDR dev $IF_NAME 10 | ip route add default via $GW_ADDR dev $IF_NAME 11 | 12 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r1/ospfd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/ospfd.log 4 | 5 | !interface lo 6 | !ospf hello-interval 2 7 | 8 | interface r1-h1 9 | ospf hello-interval 60 10 | 11 | !the default cost is 10 12 | 13 | interface r1-r2 14 | !ospf cost 100 15 | ospf dead-interval 5 16 | ospf hello-interval 2 17 | 18 | interface r1-r3 19 | ospf dead-interval 5 20 | ospf hello-interval 2 21 | 22 | router ospf 23 | network 10.0.0.0/8 area 0.0.0.0 24 | 25 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r1 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | sysctl -w net.ipv4.ip_forward=1 9 | 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | echo 0 > "$i" 16 | done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospfd -f "$PWD"/$BASE_DIR/$NODE_NAME/ospfd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospfd.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | log file nodeconf/r1/zebra.log 4 | 5 | hostname r1 6 | password zebra 7 | enable password zebra 8 | 9 | interface lo 10 | ip address 10.255.255.1/32 11 | 12 | interface r1-h1 13 | ip address 10.101.0.1/16 14 | link-detect 15 | 16 | interface r1-r2 17 | ip address 10.1.0.1/16 18 | link-detect 19 | 20 | interface r1-r3 21 | ip address 10.2.0.1/16 22 | link-detect 23 | 24 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r2/ospfd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/ospfd.log 4 | 5 | !interface lo 6 | !ospf hello-interval 2 7 | 8 | interface r2-h2 9 | ospf hello-interval 60 10 | 11 | interface r2-r1 12 | ospf dead-interval 5 13 | ospf hello-interval 2 14 | 15 | interface r2-r3 16 | ospf dead-interval 5 17 | ospf hello-interval 2 18 | 19 | router ospf 20 | network 10.0.0.0/8 area 0.0.0.0 21 | 22 | 23 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | sysctl -w net.ipv4.ip_forward=1 9 | 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | echo 0 > "$i" 16 | done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospfd -f "$PWD"/$BASE_DIR/$NODE_NAME/ospfd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospfd.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | log file nodeconf/r1/zebra.log 4 | 5 | hostname r2 6 | password zebra 7 | enable password zebra 8 | 9 | interface lo 10 | ip address 10.255.255.2/32 11 | 12 | interface r2-h2 13 | ip address 10.102.0.1/16 14 | link-detect 15 | 16 | interface r2-r1 17 | ip address 10.1.0.2/16 18 | link-detect 19 | 20 | interface r2-r3 21 | ip address 10.3.0.2/16 22 | link-detect 23 | 24 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r3/ospfd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/ospfd.log 4 | 5 | !interface lo 6 | !ospf hello-interval 2 7 | 8 | interface r3-h3 9 | ospf hello-interval 60 10 | 11 | interface r3-r1 12 | ospf dead-interval 5 13 | ospf hello-interval 2 14 | 15 | interface r3-r2 16 | ospf dead-interval 5 17 | ospf hello-interval 2 18 | 19 | router ospf 20 | network 10.0.0.0/8 area 0.0.0.0 21 | 22 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r3 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | sysctl -w net.ipv4.ip_forward=1 9 | 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | echo 0 > "$i" 16 | done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospfd -f "$PWD"/$BASE_DIR/$NODE_NAME/ospfd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospfd.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/3routers/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | log file nodeconf/r3/zebra.log 4 | 5 | hostname r3 6 | password zebra 7 | enable password zebra 8 | 9 | interface lo 10 | ip address 10.255.255.3/32 11 | 12 | interface r3-h3 13 | ip address 10.103.0.1/16 14 | link-detect 15 | 16 | interface r3-r1 17 | ip address 10.2.0.3/16 18 | link-detect 19 | 20 | interface r3-r2 21 | ip address 10.3.0.3/16 22 | link-detect 23 | 24 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/.env: -------------------------------------------------------------------------------- 1 | export WORKSPACE=/home/rose/workspace 2 | export CONTROL_PLANE=${WORKSPACE}/rose-srv6-control-plane 3 | 4 | export NODE_MANAGER_PATH=${CONTROL_PLANE}/srv6_controller/node-manager/ 5 | export NODE_MANAGER_GRPC_PORT=12345 6 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/docs/images/topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets-unmantained/8r-1c-out-band-isis/docs/images/topology.png -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/etc-hosts: -------------------------------------------------------------------------------- 1 | # Mininet hosts 2 | 3 | # Routers 4 | fcff:1::1 r1 5 | fcff:2::1 r2 6 | fcff:3::1 r3 7 | fcff:4::1 r4 8 | fcff:5::1 r5 9 | fcff:6::1 r6 10 | fcff:7::1 r7 11 | fcff:8::1 r8 12 | 13 | # Hosts 14 | fd00:0:11::2 h11 15 | fd00:0:12::2 h12 16 | fd00:0:13::2 h13 17 | fd00:0:31::2 h31 18 | fd00:0:32::2 h32 19 | fd00:0:33::2 h33 20 | fd00:0:51::2 h51 21 | fd00:0:52::2 h52 22 | fd00:0:53::2 h53 23 | fd00:0:81::2 h81 24 | fd00:0:82::2 h82 25 | fd00:0:83::2 h83 26 | 27 | # Data-centers 28 | fcff:2:1::2 hdc1 29 | fcff:8:1::2 hdc2 30 | fcff:5:1::2 hdc3 31 | 32 | # Management network 33 | fcfd:0:0:fd::1 controller.m 34 | fcfd:0:0:1::1 r1.m 35 | fcfd:0:0:2::1 r2.m 36 | fcfd:0:0:3::1 r3.m 37 | fcfd:0:0:4::1 r4.m 38 | fcfd:0:0:5::1 r5.m 39 | fcfd:0:0:6::1 r6.m 40 | fcfd:0:0:7::1 r7.m 41 | fcfd:0:0:8::1 r8.m 42 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/controller/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=controller 4 | SW_NAME=sw 5 | IF_NAME=$NODE_NAME-$SW_NAME 6 | IP_ADDR=fcfd:0:0:fd::1/48 7 | 8 | ip -6 addr add $IP_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r1/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/isisd.log 4 | ! 5 | !interface r1-h11 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r1-h12 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r1-h13 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r1-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 49.0001.1111.1111.1111.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r1 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv6 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface r1-sw 23 | ipv6 address fcfd:0:0:1::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:1::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r2/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/isisd.log 4 | ! 5 | interface r2-r1 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r2-r3 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r2-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r2-hdc1 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.2222.2222.2222.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty 36 | 37 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-hdc1 20 | ipv6 address fcff:2:1::1/48 21 | ! 22 | interface r2-sw 23 | ipv6 address fcfd:0:0:2::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:2::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! 32 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r3/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/isisd.log 4 | ! 5 | !interface r3-h31 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r3-h32 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r3-h33 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r3-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r3-r4 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.3333.3333.3333.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty 41 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r3 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface r3-sw 26 | ipv6 address fcfd:0:0:3::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:3::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r4/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/isisd.log 4 | ! 5 | interface r4-r3 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r4-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r4-r6 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.4444.4444.4444.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r4/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r4 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface r4-sw 20 | ipv6 address fcfd:0:0:4::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:4::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r5/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/isisd.log 4 | ! 5 | !interface r5-h51 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r5-h52 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r5-h53 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r5-r4 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r5-r6 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface r5-hdc3 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | interface lo 36 | ipv6 router isis FOO 37 | ip router isis FOO 38 | isis hello-interval 5 39 | ! 40 | router isis FOO 41 | net 47.0001.5555.5555.5555.00 42 | is-type level-2-only 43 | metric-style wide 44 | ! 45 | line vty -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r5/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r5 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-hdc3 26 | ipv6 address fcff:5:1::1/48 27 | ! 28 | interface r5-sw 29 | ipv6 address fcfd:0:0:5::1/48 30 | ! 31 | interface lo 32 | ipv6 address fcff:5::1/32 33 | ! 34 | ipv6 forwarding 35 | ! 36 | line vty 37 | ! -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r6/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/isisd.log 4 | ! 5 | interface r6-r4 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r6-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r6-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r6-r8 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.6666.6666.6666.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r6/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r6 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface r6-sw 23 | ipv6 address fcfd:0:0:6::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:6::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r7/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/isisd.log 4 | ! 5 | interface r7-r2 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r7-r6 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r7-r8 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.7777.7777.7777.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r7/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r7 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface r7-sw 20 | ipv6 address fcfd:0:0:7::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:7::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r8/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/isisd.log 4 | ! 5 | !interface r8-h81 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r8-h82 11 | ! ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r8-h83 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r8-r6 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r8-r7 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface r8-hdc2 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | interface lo 36 | ipv6 router isis FOO 37 | ip router isis FOO 38 | isis hello-interval 5 39 | ! 40 | router isis FOO 41 | net 47.0001.8888.8888.8888.00 42 | is-type level-2-only 43 | metric-style wide 44 | ! 45 | line vty -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r8/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r8 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets-unmantained/8r-1c-out-band-isis/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-hdc2 26 | ipv6 address fcff:8:1::1/48 27 | ! 28 | interface r8-sw 29 | ipv6 address fcfd:0:0:8::1/48 30 | ! 31 | interface lo 32 | ipv6 address fcff:8::1/32 33 | ! 34 | ipv6 forwarding 35 | ! 36 | line vty 37 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/etc-hosts: -------------------------------------------------------------------------------- 1 | # Mininet hosts 2 | 3 | # Routers 4 | fcff:1::1 r1 5 | fcff:2::1 r2 6 | fcff:3::1 r3 7 | fcff:4::1 r4 8 | fcff:5::1 r5 9 | fcff:6::1 r6 10 | fcff:7::1 r7 11 | fcff:8::1 r8 12 | 13 | # Hosts 14 | fd00:0:11::2 h11 15 | fd00:0:12::2 h12 16 | fd00:0:13::2 h13 17 | fd00:0:31::2 h31 18 | fd00:0:32::2 h32 19 | fd00:0:33::2 h33 20 | fd00:0:51::2 h51 21 | fd00:0:52::2 h52 22 | fd00:0:53::2 h53 23 | fd00:0:81::2 h81 24 | fd00:0:82::2 h82 25 | fd00:0:83::2 h83 26 | 27 | # Data-centers 28 | fcff:2:1::2 hdc1 29 | fcff:8:1::2 hdc2 30 | fcff:5:1::2 hdc3 31 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r1-example-ospfv3/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r1-eth0 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r1-eth1 17 | ipv6 ospf6 network broadcast 18 | ! 19 | router ospf6 20 | ospf6 router-id 10.0.0.1 21 | log-adjacency-changes detail 22 | redistribute connected 23 | interface r1-eth0 area 0.0.0.0 24 | interface r1-eth1 area 0.0.0.0 25 | ! 26 | interface lo 27 | ipv6 ospf6 network broadcast 28 | no link-detect 29 | ! 30 | line vty 31 | exec-timeout 0 0 32 | ! 33 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r1-example-ospfv3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r1 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | 10 | #disable reverse path filtering (needed for IPv4 dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > "$i" 16 | #done 17 | 18 | 19 | 20 | 21 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 22 | chown frr:frrvty $BASE_DIR/$NODE_NAME 23 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 24 | 25 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 26 | 27 | sleep 1 28 | 29 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 30 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r1-example-ospfv3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-eth0 11 | ipv6 address fd00:1:2::1/48 12 | ! 13 | interface r1-eth1 14 | ipv6 address fcf0:0:1:2::1/64 15 | ! 16 | interface lo 17 | ipv6 address fcff:4::1/128 18 | ! 19 | ipv6 forwarding 20 | ! 21 | line vty 22 | ! 23 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r1/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r1-h11 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r1-h12 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r1-h13 20 | ipv6 ospf6 network broadcast 21 | ! 22 | interface r1-r2 23 | ipv6 ospf6 network broadcast 24 | ! 25 | router ospf6 26 | ospf6 router-id 10.0.0.1 27 | log-adjacency-changes detail 28 | redistribute connected 29 | interface r1-h11 area 0.0.0.0 30 | interface r1-h12 area 0.0.0.0 31 | interface r1-h13 area 0.0.0.0 32 | interface r1-r2 area 0.0.0.0 33 | ! 34 | interface lo 35 | ipv6 ospf6 network broadcast 36 | no link-detect 37 | ! 38 | line vty 39 | exec-timeout 0 0 40 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r1 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv6 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface lo 23 | ipv6 address fcff:1::1/128 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r2/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r2-r1 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r2-r3 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r2-r7 20 | ipv6 ospf6 network broadcast 21 | ! 22 | interface r2-hdc1 23 | ipv6 ospf6 network broadcast 24 | ! 25 | router ospf6 26 | ospf6 router-id 10.0.0.2 27 | log-adjacency-changes detail 28 | redistribute connected 29 | interface r2-r1 area 0.0.0.0 30 | interface r2-r3 area 0.0.0.0 31 | interface r2-r7 area 0.0.0.0 32 | ! 33 | interface lo 34 | ipv6 ospf6 network broadcast 35 | no link-detect 36 | ! 37 | line vty 38 | exec-timeout 0 0 39 | ! 40 | 41 | 42 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-hdc1 20 | ipv6 address fcff:2:1::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:2::1/128 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r3/.ospfd.conf.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets-unmantained/8routers/nodeconf/r3/.ospfd.conf.swp -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r3/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r3-h31 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r3-h32 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r3-h33 20 | ipv6 ospf6 network broadcast 21 | ! 22 | interface r3-r2 23 | ipv6 ospf6 network broadcast 24 | ! 25 | interface r3-r4 26 | ipv6 ospf6 network broadcast 27 | ! 28 | router ospf 29 | ospf6 router-id 10.0.0.3 30 | log-adjacency-changes detail 31 | redistribute connected 32 | interface r3-h31 area 0.0.0.0 33 | interface r3-h32 area 0.0.0.0 34 | interface r3-h33 area 0.0.0.0 35 | interface r3-r2 area 0.0.0.0 36 | interface r3-r4 area 0.0.0.0 37 | ! 38 | interface lo 39 | ipv6 ospf6 network broadcast 40 | no link-detect 41 | ! 42 | line vty 43 | exec-timeout 0 0 44 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r3 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface lo 26 | ipv6 address fcff:3::1/128 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! 32 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r4/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r4-r3 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r4-r5 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r4-r6 20 | ipv6 ospf6 network broadcast 21 | ! 22 | router ospf 23 | ospf6 router-id 10.0.0.4 24 | log-adjacency-changes detail 25 | redistribute connected 26 | interface r4-r3 area 0.0.0.0 27 | interface r4-r5 area 0.0.0.0 28 | interface r4-r6 area 0.0.0.0 29 | ! 30 | interface lo 31 | ipv6 ospf6 network broadcast 32 | no link-detect 33 | ! 34 | line vty 35 | exec-timeout 0 0 36 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r4/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r4 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface lo 20 | ipv6 address fcff:4::1/128 21 | ! 22 | ipv6 forwarding 23 | ! 24 | line vty 25 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r5/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r5-h51 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r5-h52 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r5-h53 20 | ipv6 ospf6 network broadcast 21 | ! 22 | interface r5-r4 23 | ipv6 ospf6 network broadcast 24 | ! 25 | interface r5-r6 26 | ipv6 ospf6 network broadcast 27 | ! 28 | interface r5-hdc3 29 | ipv6 ospf6 network broadcast 30 | ! 31 | router ospf 32 | ospf6 router-id 10.0.0.5 33 | log-adjacency-changes detail 34 | redistribute connected 35 | interface r5-h51 area 0.0.0.0 36 | interface r5-h52 area 0.0.0.0 37 | interface r5-h53 area 0.0.0.0 38 | interface r5-r4 area 0.0.0.0 39 | interface r5-r6 area 0.0.0.0 40 | ! 41 | interface lo 42 | ipv6 ospf6 network broadcast 43 | no link-detect 44 | ! 45 | line vty 46 | exec-timeout 0 0 47 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r5/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r5 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-hdc3 26 | ipv6 address fcff:5:1::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:5::1/128 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r6/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r6-r4 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r6-r5 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r6-r7 20 | ipv6 ospf6 network broadcast 21 | ! 22 | interface r6-r8 23 | ipv6 ospf6 network broadcast 24 | ! 25 | router ospf 26 | ospf6 router-id 10.0.0.6 27 | log-adjacency-changes detail 28 | redistribute connected 29 | interface r6-r4 area 0.0.0.0 30 | interface r6-r5 area 0.0.0.0 31 | interface r6-r7 area 0.0.0.0 32 | interface r6-r8 area 0.0.0.0 33 | ! 34 | interface lo 35 | ipv6 ospf6 network broadcast 36 | no link-detect 37 | ! 38 | line vty 39 | exec-timeout 0 0 40 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r6/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r6 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface lo 23 | ipv6 address fcff:6::1/128 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r7/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r7-r2 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r7-r6 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r7-r8 20 | ipv6 ospf6 network broadcast 21 | ! 22 | router ospf 23 | ospf6 router-id 10.0.0.7 24 | log-adjacency-changes detail 25 | redistribute connected 26 | interface r7-r2 area 0.0.0.0 27 | interface r7-r6 area 0.0.0.0 28 | interface r7-r8 area 0.0.0.0 29 | ! 30 | interface lo 31 | ipv6 ospf6 network broadcast 32 | no link-detect 33 | ! 34 | line vty 35 | exec-timeout 0 0 36 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r7/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r7 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface lo 20 | ipv6 address fcff:7::1/128 21 | ! 22 | ipv6 forwarding 23 | ! 24 | line vty 25 | ! 26 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r8/ospf6d.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/ospf6d.log 4 | 5 | debug ospf6 message all 6 | debug ospf6 lsa unknown 7 | debug ospf6 zebra 8 | debug ospf6 interface 9 | debug ospf6 neighbor 10 | debug ospf6 route table 11 | debug ospf6 flooding 12 | ! 13 | interface r8-h81 14 | ipv6 ospf6 network broadcast 15 | ! 16 | interface r8-h82 17 | ipv6 ospf6 network broadcast 18 | ! 19 | interface r8-h83 20 | ipv6 ospf6 network broadcast 21 | ! 22 | interface r8-r6 23 | ipv6 ospf6 network broadcast 24 | ! 25 | interface r8-r7 26 | ipv6 ospf6 network broadcast 27 | ! 28 | interface r8-hdc2 29 | ipv6 ospf6 network broadcast 30 | ! 31 | router ospf 32 | ospf6 router-id 10.0.0.8 33 | log-adjacency-changes detail 34 | redistribute connected 35 | interface r8-h81 area 0.0.0.0 36 | interface r8-h82 area 0.0.0.0 37 | interface r8-h83 area 0.0.0.0 38 | interface r8-r6 area 0.0.0.0 39 | interface r8-r7 area 0.0.0.0 40 | ! 41 | interface lo 42 | ipv6 ospf6 network broadcast 43 | no link-detect 44 | ! 45 | line vty 46 | exec-timeout 0 0 47 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r8/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r8 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/ospf6d -f "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/ospf6d.pid 28 | -------------------------------------------------------------------------------- /nets-unmantained/8routers/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-hdc2 26 | ipv6 address fcff:8:1::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:8::1/128 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets-unmantained/8routers/ospf8r.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets-unmantained/8routers/ospf8r.pyc -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/.env: -------------------------------------------------------------------------------- 1 | export WORKSPACE=/home/rose/workspace 2 | export CONTROL_PLANE=${WORKSPACE}/rose-srv6-control-plane 3 | 4 | export NODE_MANAGER_PATH=${CONTROL_PLANE}/srv6_controller/node-manager/ 5 | export NODE_MANAGER_GRPC_PORT=12345 6 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/docs/images/topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets/8r-1c-in-band-isis/docs/images/topology.png -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/etc-hosts: -------------------------------------------------------------------------------- 1 | # Mininet hosts 2 | 3 | # Controller 4 | fcff:2:c::2 controller 5 | 6 | # Routers 7 | fcff:1::1 r1 8 | fcff:2::1 r2 9 | fcff:3::1 r3 10 | fcff:4::1 r4 11 | fcff:5::1 r5 12 | fcff:6::1 r6 13 | fcff:7::1 r7 14 | fcff:8::1 r8 15 | 16 | # Hosts 17 | fd00:0:11::2 h11 18 | fd00:0:12::2 h12 19 | fd00:0:13::2 h13 20 | fd00:0:31::2 h31 21 | fd00:0:32::2 h32 22 | fd00:0:33::2 h33 23 | fd00:0:51::2 h51 24 | fd00:0:52::2 h52 25 | fd00:0:53::2 h53 26 | fd00:0:81::2 h81 27 | fd00:0:82::2 h82 28 | fd00:0:83::2 h83 29 | 30 | # Data-centers 31 | fcff:2:1::2 hdc1 32 | fcff:8:1::2 hdc2 33 | fcff:5:1::2 hdc3 -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/controller/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=controller 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:c::2/48 7 | GW_ADDR=fcff:2:c::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add fc00::/8 via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r1/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/isisd.log 4 | ! 5 | !interface r1-h11 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r1-h12 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r1-h13 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r1-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 49.0001.1111.1111.1111.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r1 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv6 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface lo 23 | ipv6 address fcff:1::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r2/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/isisd.log 4 | ! 5 | interface r2-r1 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r2-r3 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r2-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r2-hdc1 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.2222.2222.2222.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty 36 | 37 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-hdc1 20 | ipv6 address fcff:2:1::1/48 21 | ! 22 | interface r2-controller 23 | ipv6 address fcff:2:c::1/48 24 | ! 25 | interface lo 26 | ipv6 address fcff:2::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! 32 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r3/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/isisd.log 4 | ! 5 | !interface r3-h31 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r3-h32 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r3-h33 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r3-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r3-r4 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.3333.3333.3333.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty 41 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r3 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface lo 26 | ipv6 address fcff:3::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! 32 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r4/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/isisd.log 4 | ! 5 | interface r4-r3 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r4-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r4-r6 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.4444.4444.4444.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r4/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r4 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface lo 20 | ipv6 address fcff:4::1/32 21 | ! 22 | ipv6 forwarding 23 | ! 24 | line vty 25 | ! -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r5/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/isisd.log 4 | ! 5 | !interface r5-h51 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r5-h52 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r5-h53 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r5-r4 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r5-r6 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface r5-hdc3 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | interface lo 36 | ipv6 router isis FOO 37 | ip router isis FOO 38 | isis hello-interval 5 39 | ! 40 | router isis FOO 41 | net 47.0001.5555.5555.5555.00 42 | is-type level-2-only 43 | metric-style wide 44 | ! 45 | line vty -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r5/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r5 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-hdc3 26 | ipv6 address fcff:5:1::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:5::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r6/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/isisd.log 4 | ! 5 | interface r6-r4 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r6-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r6-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r6-r8 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.6666.6666.6666.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r6/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r6 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface lo 23 | ipv6 address fcff:6::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r7/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/isisd.log 4 | ! 5 | interface r7-r2 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r7-r6 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r7-r8 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.7777.7777.7777.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r7/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r7 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface lo 20 | ipv6 address fcff:7::1/32 21 | ! 22 | ipv6 forwarding 23 | ! 24 | line vty 25 | ! 26 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r8/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/isisd.log 4 | ! 5 | !interface r8-h81 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r8-h82 11 | ! ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r8-h83 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r8-r6 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r8-r7 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface r8-hdc2 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | interface lo 36 | ipv6 router isis FOO 37 | ip router isis FOO 38 | isis hello-interval 5 39 | ! 40 | router isis FOO 41 | net 47.0001.8888.8888.8888.00 42 | is-type level-2-only 43 | metric-style wide 44 | ! 45 | line vty -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r8/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r8 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8r-1c-in-band-isis/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-hdc2 26 | ipv6 address fcff:8:1::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:8::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/etc-hosts: -------------------------------------------------------------------------------- 1 | # Mininet hosts 2 | 3 | # Routers 4 | fcff:1::1 r1 5 | fcff:2::1 r2 6 | fcff:3::1 r3 7 | fcff:4::1 r4 8 | fcff:5::1 r5 9 | fcff:6::1 r6 10 | fcff:7::1 r7 11 | fcff:8::1 r8 12 | 13 | # Hosts 14 | fd00:0:11::2 h11 15 | fd00:0:12::2 h12 16 | fd00:0:13::2 h13 17 | fd00:0:31::2 h31 18 | fd00:0:32::2 h32 19 | fd00:0:33::2 h33 20 | fd00:0:51::2 h51 21 | fd00:0:52::2 h52 22 | fd00:0:53::2 h53 23 | fd00:0:81::2 h81 24 | fd00:0:82::2 h82 25 | fd00:0:83::2 h83 26 | 27 | # Data-centers 28 | fcff:2:1::2 hdc1 29 | fcff:8:1::2 hdc2 30 | fcff:5:1::2 hdc3 31 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h11/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h11 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:11::2/64 7 | GW_ADDR=fd00:0:11::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h12/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h12 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:12::2/64 7 | GW_ADDR=fd00:0:12::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h13/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h13 4 | GW_NAME=r1 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:13::2/64 7 | GW_ADDR=fd00:0:13::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h31/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h31 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:31::2/64 7 | GW_ADDR=fd00:0:31::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h32/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h32 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:32::2/64 7 | GW_ADDR=fd00:0:32::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h33/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h33 4 | GW_NAME=r3 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:33::2/64 7 | GW_ADDR=fd00:0:33::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h51/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h51 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:51::2/64 7 | GW_ADDR=fd00:0:51::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h52/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h52 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:52::2/64 7 | GW_ADDR=fd00:0:52::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h53/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h53 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:53::2/64 7 | GW_ADDR=fd00:0:53::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h81/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h81 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:81::2/64 7 | GW_ADDR=fd00:0:81::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h82/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h82 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:82::2/64 7 | GW_ADDR=fd00:0:82::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/h83/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=h83 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fd00:0:83::2/64 7 | GW_ADDR=fd00:0:83::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/hdc1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc1 4 | GW_NAME=r2 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:2:1::2/48 7 | GW_ADDR=fcff:2:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/hdc2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc2 4 | GW_NAME=r8 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:8:1::2/48 7 | GW_ADDR=fcff:8:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/hdc3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NODE_NAME=hdc3 4 | GW_NAME=r5 5 | IF_NAME=$NODE_NAME-$GW_NAME 6 | IP_ADDR=fcff:5:1::2/48 7 | GW_ADDR=fcff:5:1::1 8 | 9 | ip -6 addr add $IP_ADDR dev $IF_NAME 10 | ip -6 route add default via $GW_ADDR dev $IF_NAME -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r1/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r1 2 | password zebra 3 | log file nodeconf/r1/isisd.log 4 | ! 5 | !interface r1-h11 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r1-h12 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r1-h13 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r1-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 49.0001.1111.1111.1111.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r1/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r1 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv6 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r1/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r1 5 | log file nodeconf/r1/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r1-h11 11 | ipv6 address fd00:0:11::1/64 12 | ! 13 | interface r1-h12 14 | ipv6 address fd00:0:12::1/64 15 | ! 16 | interface r1-h13 17 | ipv6 address fd00:0:13::1/64 18 | ! 19 | interface r1-r2 20 | ipv6 address fcf0:0:1:2::1/64 21 | ! 22 | interface lo 23 | ipv6 address fcff:1::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r2/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r2 2 | password zebra 3 | log file nodeconf/r2/isisd.log 4 | ! 5 | interface r2-r1 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r2-r3 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r2-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r2-hdc1 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.2222.2222.2222.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty 36 | 37 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r2/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r2 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | #echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r2/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r2 5 | log file nodeconf/r2/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r2-r1 11 | ipv6 address fcf0:0:1:2::2/64 12 | ! 13 | interface r2-r3 14 | ipv6 address fcf0:0:2:3::1/64 15 | ! 16 | interface r2-r7 17 | ipv6 address fcf0:0:2:7::1/64 18 | ! 19 | interface r2-hdc1 20 | ipv6 address fcff:2:1::1/48 21 | ! 22 | interface lo 23 | ipv6 address fcff:2::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! 29 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r3/.ospfd.conf.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgroup/rose-srv6-tutorial/4730fec0d9c1a8e7b63a770fed765a1485c8e138/nets/8routers-isis-ipv6/nodeconf/r3/.ospfd.conf.swp -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r3/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r3 2 | password zebra 3 | log file nodeconf/r3/isisd.log 4 | ! 5 | !interface r3-h31 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r3-h32 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r3-h33 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r3-r2 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r3-r4 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface lo 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | router isis FOO 36 | net 47.0001.3333.3333.3333.00 37 | is-type level-2-only 38 | metric-style wide 39 | ! 40 | line vty 41 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r3/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r3 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r3/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r3 5 | log file nodeconf/r3/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r3-h31 11 | ipv6 address fd00:0:31::1/64 12 | ! 13 | interface r3-h32 14 | ipv6 address fd00:0:32::1/64 15 | ! 16 | interface r3-h33 17 | ipv6 address fd00:0:33::1/64 18 | ! 19 | interface r3-r2 20 | ipv6 address fcf0:0:2:3::2/64 21 | ! 22 | interface r3-r4 23 | ipv6 address fcf0:0:3:4::1/64 24 | ! 25 | interface lo 26 | ipv6 address fcff:3::1/32 27 | ! 28 | ipv6 forwarding 29 | ! 30 | line vty 31 | ! 32 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r4/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r4 2 | password zebra 3 | log file nodeconf/r4/isisd.log 4 | ! 5 | interface r4-r3 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r4-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r4-r6 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.4444.4444.4444.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r4/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r4 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r4/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r4 5 | log file nodeconf/r4/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r4-r3 11 | ipv6 address fcf0:0:3:4::2/64 12 | ! 13 | interface r4-r5 14 | ipv6 address fcf0:0:4:5::1/64 15 | ! 16 | interface r4-r6 17 | ipv6 address fcf0:0:4:6::1/64 18 | ! 19 | interface lo 20 | ipv6 address fcff:4::1/32 21 | ! 22 | ipv6 forwarding 23 | ! 24 | line vty 25 | ! -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r5/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r5 2 | password zebra 3 | log file nodeconf/r5/isisd.log 4 | ! 5 | !interface r5-h51 6 | !ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r5-h52 11 | !ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r5-h53 16 | !ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r5-r4 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r5-r6 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface r5-hdc3 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | interface lo 36 | ipv6 router isis FOO 37 | ip router isis FOO 38 | isis hello-interval 5 39 | ! 40 | router isis FOO 41 | net 47.0001.5555.5555.5555.00 42 | is-type level-2-only 43 | metric-style wide 44 | ! 45 | line vty -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r5/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r5 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r5/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r5 5 | log file nodeconf/r5/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r5-h51 11 | ipv6 address fd00:0:51::1/64 12 | ! 13 | interface r5-h52 14 | ipv6 address fd00:0:52::1/64 15 | ! 16 | interface r5-h53 17 | ipv6 address fd00:0:53::1/64 18 | ! 19 | interface r5-r4 20 | ipv6 address fcf0:0:4:5::2/64 21 | ! 22 | interface r5-r6 23 | ipv6 address fcf0:0:5:6::1/64 24 | ! 25 | interface r5-hdc3 26 | ipv6 address fcff:5:1::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:5::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r6/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r6 2 | password zebra 3 | log file nodeconf/r6/isisd.log 4 | ! 5 | interface r6-r4 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r6-r5 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r6-r7 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface r6-r8 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface lo 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | router isis FOO 31 | net 47.0001.6666.6666.6666.00 32 | is-type level-2-only 33 | metric-style wide 34 | ! 35 | line vty -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r6/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r6 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r6/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r6 5 | log file nodeconf/r6/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r6-r4 11 | ipv6 address fcf0:0:4:6::2/64 12 | ! 13 | interface r6-r5 14 | ipv6 address fcf0:0:5:6::2/64 15 | ! 16 | interface r6-r7 17 | ipv6 address fcf0:0:6:7::1/64 18 | ! 19 | interface r6-r8 20 | ipv6 address fcf0:0:6:8::1/64 21 | ! 22 | interface lo 23 | ipv6 address fcff:6::1/32 24 | ! 25 | ipv6 forwarding 26 | ! 27 | line vty 28 | ! -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r7/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r7 2 | password zebra 3 | log file nodeconf/r7/isisd.log 4 | ! 5 | interface r7-r2 6 | ipv6 router isis FOO 7 | ip router isis FOO 8 | isis hello-interval 5 9 | ! 10 | interface r7-r6 11 | ipv6 router isis FOO 12 | ip router isis FOO 13 | isis hello-interval 5 14 | ! 15 | interface r7-r8 16 | ipv6 router isis FOO 17 | ip router isis FOO 18 | isis hello-interval 5 19 | ! 20 | interface lo 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | router isis FOO 26 | net 47.0001.7777.7777.7777.00 27 | is-type level-2-only 28 | metric-style wide 29 | ! 30 | line vty -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r7/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r7 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r7/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r7 5 | log file nodeconf/r7/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r7-r2 11 | ipv6 address fcf0:0:2:7::2/64 12 | ! 13 | interface r7-r6 14 | ipv6 address fcf0:0:6:7::2/64 15 | ! 16 | interface r7-r8 17 | ipv6 address fcf0:0:7:8::1/64 18 | ! 19 | interface lo 20 | ipv6 address fcff:7::1/32 21 | ! 22 | ipv6 forwarding 23 | ! 24 | line vty 25 | ! 26 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r8/isisd.conf: -------------------------------------------------------------------------------- 1 | hostname r8 2 | password zebra 3 | log file nodeconf/r8/isisd.log 4 | ! 5 | !interface r8-h81 6 | ! ipv6 router isis FOO 7 | ! ip router isis FOO 8 | ! isis hello-interval 5 9 | ! 10 | !interface r8-h82 11 | ! ipv6 router isis FOO 12 | ! ip router isis FOO 13 | ! isis hello-interval 5 14 | ! 15 | !interface r8-h83 16 | ! ipv6 router isis FOO 17 | ! ip router isis FOO 18 | ! isis hello-interval 5 19 | ! 20 | interface r8-r6 21 | ipv6 router isis FOO 22 | ip router isis FOO 23 | isis hello-interval 5 24 | ! 25 | interface r8-r7 26 | ipv6 router isis FOO 27 | ip router isis FOO 28 | isis hello-interval 5 29 | ! 30 | interface r8-hdc2 31 | ipv6 router isis FOO 32 | ip router isis FOO 33 | isis hello-interval 5 34 | ! 35 | interface lo 36 | ipv6 router isis FOO 37 | ip router isis FOO 38 | isis hello-interval 5 39 | ! 40 | router isis FOO 41 | net 47.0001.8888.8888.8888.00 42 | is-type level-2-only 43 | metric-style wide 44 | ! 45 | line vty -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r8/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASE_DIR=nodeconf 4 | NODE_NAME=r8 5 | FRR_PATH=/usr/lib/frr 6 | 7 | #enable IPv4 forwarding 8 | #sysctl -w net.ipv4.ip_forward=1 9 | sysctl -w net.ipv6.conf.all.forwarding=1 10 | #disable reverse path filtering (needed for dynamic routing) 11 | #sysctl -w net.ipv4.conf.all.rp_filter=0 12 | #sysctl -w net.ipv4.conf.default.rp_filter=0 13 | #the following for loop also disables all and default 14 | #for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do 15 | # echo 0 > $i 16 | #done 17 | 18 | 19 | echo "no service integrated-vtysh-config" >> /etc/frr/vtysh.conf 20 | chown frr:frrvty $BASE_DIR/$NODE_NAME 21 | #chown quagga:quagga $BASE_DIR/$NODE_NAME 22 | 23 | $FRR_PATH/zebra -f "$PWD"/$BASE_DIR/$NODE_NAME/zebra.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/zebra.pid 24 | 25 | sleep 1 26 | 27 | $FRR_PATH/isisd -f "$PWD"/$BASE_DIR/$NODE_NAME/isisd.conf -d -z "$PWD"/$BASE_DIR/$NODE_NAME/zebra.sock -i "$PWD"/$BASE_DIR/$NODE_NAME/isisd.pid 28 | 29 | # enable Segment Routing for IPv6 30 | sysctl -w net.ipv6.conf.all.seg6_enabled=1 31 | for dev in $(ip -o -6 a | awk '{ print $2 }' | grep -v "lo") 32 | do 33 | sysctl -w net.ipv6.conf."$dev".seg6_enabled=1 34 | done 35 | -------------------------------------------------------------------------------- /nets/8routers-isis-ipv6/nodeconf/r8/zebra.conf: -------------------------------------------------------------------------------- 1 | ! -*- zebra -*- 2 | 3 | ! 4 | hostname r8 5 | log file nodeconf/r8/zebra.log 6 | ! 7 | debug zebra events 8 | debug zebra rib 9 | ! 10 | interface r8-h81 11 | ipv6 address fd00:0:81::1/64 12 | ! 13 | interface r8-h82 14 | ipv6 address fd00:0:82::1/64 15 | ! 16 | interface r8-h83 17 | ipv6 address fd00:0:83::1/64 18 | ! 19 | interface r8-r6 20 | ipv6 address fcf0:0:6:8::2/64 21 | ! 22 | interface r8-r7 23 | ipv6 address fcf0:0:7:8::2/64 24 | ! 25 | interface r8-hdc2 26 | ipv6 address fcff:8:1::1/48 27 | ! 28 | interface lo 29 | ipv6 address fcff:8::1/32 30 | ! 31 | ipv6 forwarding 32 | ! 33 | line vty 34 | ! -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | python-dotenv==0.13.0 2 | python-hosts==1.0.0 3 | win-inet-pton==1.1.0 4 | git+https://github.com/mininet/mininet.git 5 | -------------------------------------------------------------------------------- /scripts/attach-host: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if the host name is provided 4 | if [ -z "$1" ]; then 5 | echo "Usage: $0 " 6 | exit 1 7 | fi 8 | 9 | HOST_NAME="$1" 10 | 11 | # Find the PID of the host using ps and grep 12 | HOST_PID=$(ps aux | grep "mininet:" | grep "$HOST_NAME" | awk '{print $2}') 13 | 14 | # Check if the PID was found 15 | if [ -z "$HOST_PID" ]; then 16 | echo "Error: Could not find PID for host '$HOST_NAME'. Make sure the host exists and Mininet is running." 17 | exit 2 18 | fi 19 | 20 | # Execute mnexec to attach a shell to the host 21 | echo "Attaching to host '$HOST_NAME' with PID $HOST_PID..." 22 | 23 | sudo mnexec -a "$HOST_PID" \ 24 | bash -c "env PS1='${HOST_NAME}:\w> ' bash --norc" 25 | --------------------------------------------------------------------------------