Skip to content

Instantly share code, notes, and snippets.

#
# CORE
# Copyright (c)2010-2012 the Boeing Company.
# See the LICENSE file included in this distribution.
#
# author: Tom Goff <[email protected]>
#
'''
frr.py: helper class for generating FRR configuration.
'''
#
# CORE
# Copyright (c)2010-2012 the Boeing Company.
# See the LICENSE file included in this distribution.
#
# author: Jeff Ahrenholz <[email protected]>
#
'''
frr.py: defines routing services provided by FRR.
'''
@apwiggins
apwiggins / FRRdocs.md
Last active April 25, 2019 13:34
FRR Services for CORE document

Free Range Routing (FRR)

FRR is a fork of the well-known Quagga router. FRR is managed under the Linux Foundation.

Installing FRR with Ubuntu 16.04/18.04

For Ubuntu, .deb packages are available from https://deb.frrouting.org. Since Quagga and FRR cannot be installed simultaneously, be aware that Quagga .deb packages will be removed.

Using FRR in CORE

The FRRZebra Service must always be enabled. This service runs the main zebrad daemon which manages the common FRR configuration. Specific routing protocols, such as OSPFv2 or RIP, can be enabled by clicking on their respective service buttons. Template router configurations will appear in the FRRZebra Service and specific interface or router configuration commands can be customized in the common FRRZebra configuration file.

@apwiggins
apwiggins / flute.py
Last active April 13, 2024 13:31
FLUTE service for CORE
# CORE
# Flute service
#
# - FLUTE: http://mad.cs.tut.fi/download.html
# - FLUTE source: http://mad.cs.tut.fi/download/mad_fcl_v1.7_src.tar.gz
#
# To build from source (Ubuntu):
# sudo apt update
# sudo apt install curl libcurl-ocaml libcurl-ocaml-dev libcurl4-gnutls-dev
@apwiggins
apwiggins / ebtables_issue.txt
Created January 7, 2020 21:39
ebtables issue in CORE
Problem: at ~300 nodes (many multi-homed) and ~1200 interconnects, CORE began generating ebtables issues which appeard in the CORE logs.
Solution (unresolved):
added --concurrent option to ebtables call string in:
/usr/local/lib/python2.7/dist-packages/core/netns/vnet.py
saved original vnet.py
deleted vnet.pyc
# babeld service for babeld v1.9.1
'''
babeld.py: babeld router model
'''
import os
import logging
from core.service import CoreService, addservice
#!/bin/bash
# session hook script; write commands here to execute on the host at the
# specified state
# Framework script for automation of log collection
# CORE enters the DATACOLLECT state following the completion of a CORE session
# Logs, packet captures, configuration files, etc are still available within
# CORE nodes (LXC containers) in a persistent state. A datacollect_hook script
# can be used to capture experiment results for post-processing and analysis.
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrant configuration standard version 2
Vagrant.configure("2") do |config|
#config.vm.box = "bento/ubuntu-20.04"
config.vm.box = "peru/ubuntu-20.04-desktop-amd64"
#current folder will be shared in the vagrant VM
config.vm.synced_folder ".", "/home/vagrant/shared"
#!/usr/bin/env bash
# split installation into two parts
# - part 1 - build VM and do initial provisioning; because PATH isn't immediately
# available, a logout is required and installation continues in part 2
# - part 2 - complete the remaining installation
# part 1 install
vagrant up
@apwiggins
apwiggins / core9.0.3 - filelist.txt
Last active December 20, 2023 19:42
core9.0.3 - filelist after install
using
# install guide
- https://coreemu.github.io/core/install_ubuntu.html
# deb package
https://github.com/coreemu/core/releases/download/release-9.0.3/core_9.0.3_amd64.deb
results in this set of files which is missing core-gui and core-daemon
===
/.
/etc