Skip to content

Commit

Permalink
Add dentOS VM installation, testbed compatibility (#11)
Browse files Browse the repository at this point in the history
* Add dentOS VM installation and bringup instructions
* Adapt makefile to be target-flexible, allow dentVM installl
* Add example test running and documentation

Signed-off-by: fkwilken <[email protected]>
  • Loading branch information
fkwilken committed Sep 1, 2023
1 parent 934e21e commit 7e164a8
Show file tree
Hide file tree
Showing 31 changed files with 1,295 additions and 50 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"devices": [
{
"friendlyName":"DENT infrastructure 1",
"os":"dentos",
"type" : "INFRA_SWITCH",
"hostName": "infra1",
"model": "arm64-accton-as5114-48x-r0",
"ip": "10.36.118.160",
"login":{
"userName":"root",
"password":"onl"
},
"serialDev":"/dev/ttyUSB0",
"baudrate": 115200,
"mediaMode":"fiber",
"links" : [
]
},
{
"friendlyName":"Ixia Traffic Generator",
"os":"ixnetwork",
"type" : "TRAFFIC_GENERATOR",
"hostName": "ixia",
"model": "VM",
"ip": "10.36.118.112",
"login":{
"userName":"admin",
"password":"dentTestPass_121314"
},
"serialDev":"/dev/ttyUSBXX",
"baudrate": 115200,
"mediaMode":"fiber",
"links" : [
["10.36.118.150:5:1", "infra1:swp1", "fiber"],
["10.36.118.150:5:2", "infra1:swp2", "fiber"],
["10.36.118.150:5:3", "infra1:swp3", "fiber"],
["10.36.118.150:5:4", "infra1:swp4", "fiber"]
]
}
],
"operator" : "dent-vm",
"topology" : "bachelor",
"force_discovery" : false
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#
# ISC dhcpd configuration
#


option domain-name "test";
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dentlab-infra1
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 dentlab-infra1
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@


vrrp_instance VI_100 {
state MASTER
interface vlan100
vrrp_garp_master_delay 5
vrrp_garp_master_refresh 60
vrrp_garp_lower_prio_repeat 3
virtual_router_id 1
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
20.1.4.1 label vlan100:MASTER
}
}

vrrp_instance VI_300 {
state MASTER
interface vlan300
vrrp_garp_master_delay 5
vrrp_garp_master_refresh 60
vrrp_garp_lower_prio_repeat 3
virtual_router_id 2
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
20.2.4.1 label vlan300:MASTER
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#
# ONL format of dent interfaces
#
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*.intf

# The loopback network interface
auto lo
iface lo inet loopback
address 20.20.0.101/32

# The management interface
auto ma1
iface ma1 inet dhcp

auto vlan100
iface vlan100 inet static
address 20.1.4.1/22
vlan-id 100
vlan-raw-device bridge

auto vlan300
iface vlan300 inet static
address 20.2.4.1/22
vlan-id 300
vlan-raw-device bridge

auto vlan400
iface vlan400 inet static
address 20.3.4.1/22
vlan-id 400
vlan-raw-device bridge

auto vlan500
iface vlan500 inet static
address 20.4.4.1/22
vlan-id 500
vlan-raw-device bridge

auto vlan600
iface vlan600 inet static
address 20.5.4.1/22
vlan-id 600
vlan-raw-device bridge

auto bridge
iface bridge inet static
alias Vlan Aware Bridge
bridge-ageing 600
bridge-ports swp1 swp2 swp3 swp4 swp5 swp6 swp7 swp8 swp9 swp10 swp11 swp12 swp13 swp14 swp15 swp16 swp17 swp18 swp19 swp20 swp21 swp22 swp23 swp24 swp25 swp26 swp27 swp28 swp29 swp30 swp31 swp32 swp33 swp34 swp35 swp36 swp37 swp38 swp39 swp40 swp41 swp42 swp43 swp44 swp45 swp46 swp47 swp48
bridge-vids 100 300 400 500 600
# Turns on STP
bridge-stp on
# Puts each port into an edge mode swp1-48
mstpctl-portadminedge swp1=yes swp2=yes swp3=yes swp4=yes swp5=yes swp6=yes swp7=yes swp8=yes swp9=yes swp10=yes swp11=yes swp12=yes swp13=yes swp14=yes swp15=yes swp16=yes swp17=yes swp18=yes swp19=yes swp20=yes swp21=yes swp22=yes swp23=yes swp24=yes swp25=yes swp26=yes swp27=yes swp28=yes swp29=yes swp30=yes swp31=yes swp32=yes swp33=yes swp34=yes swp35=yes swp36=yes swp37=yes swp38=yes swp39=yes swp40=yes swp41=yes swp42=yes swp43=yes swp44=yes swp45=yes swp46=yes swp47=yes swp48=yes
# Adds BPDU Guard to all ports swp1-48
mstpctl-bpduguard swp1=yes swp2=yes swp3=yes swp4=yes swp5=yes swp6=yes swp7=yes swp8=yes swp9=yes swp10=yes swp11=yes swp12=yes swp13=yes swp14=yes swp15=yes swp16=yes swp17=yes swp18=yes swp19=yes swp20=yes swp21=yes swp22=yes swp23=yes swp24=yes swp25=yes swp26=yes swp27=yes swp28=yes swp29=yes swp30=yes swp31=yes swp32=yes swp33=yes swp34=yes swp35=yes swp36=yes swp37=yes swp38=yes swp39=yes swp40=yes swp41=yes swp42=yes swp43=yes swp44=yes swp45=yes swp46=yes swp47=yes swp48=yes
bridge-vlan-aware yes

auto swp1
iface swp1
alias IXIA LINK
bridge-pvid 100
bridge-vids 300 400 500 600

auto swp2
iface swp2
alias IXIA LINK
bridge-pvid 100
bridge-vids 300 400 500 600

auto swp3
iface swp3
alias IXIA LINK
bridge-pvid 100
bridge-vids 300 400 500 600

auto swp4
iface swp4
alias IXIA LINK
bridge-pvid 100
bridge-vids 300 400 500 600
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help


driftfile /var/lib/ntp/ntp.drift


# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable


# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example


# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
#

# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust


# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines. Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient

# Specify interfaces, don't listen on switch ports
#interface listen eth0
interface listen lo
interface listen lo:0
interface listen dummy0
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
username cumulus nopassword
!
service integrated-vtysh-config
!
log timestamp precision 6
!
no zebra nexthop kernel enable
!
router bgp 65534
bgp router-id 20.20.0.101
no bgp ebgp-requires-policy
neighbor INFRA peer-group
neighbor INFRA remote-as 65534
neighbor INFRA timers 3 10
neighbor IXIA peer-group
neighbor IXIA remote-as 200
neighbor IXIA timers 3 10
neighbor POD peer-group
neighbor POD remote-as 65511
neighbor POD timers 3 10
neighbor 20.20.96.18 peer-group POD
neighbor 20.20.96.26 peer-group POD
!
address-family ipv4 unicast
network 20.1.0.0/16
neighbor INFRA route-map DENY-ALL in
neighbor INFRA route-map DENY-ALL out
neighbor POD soft-reconfiguration inbound
neighbor POD route-map TO-POD out
neighbor IXIA soft-reconfiguration inbound
exit-address-family
!
ip route 20.1.0.0/16 Null0
!
route-map TO-POD permit 10
set community 65534:1
!
route-map DENY-ALL deny 10
!
line vty
!
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This file tells the quagga package which daemons to start.
#
# Entries are in the format: <daemon>=(yes|no|priority)
# 0, "no" = disabled
# 1, "yes" = highest priority
# 2 .. 10 = lower priorities
# Read /usr/share/doc/quagga/README.Debian for details.
#
# Sample configurations for these daemons can be found in
# /usr/share/doc/quagga/examples/.
#
# ATTENTION:
#
# When activation a daemon at the first time, a config file, even if it is
# empty, has to be present *and* be owned by the user and group "quagga", else
# the daemon will not be started by /etc/init.d/quagga. The permissions should
# be u=rw,g=r,o=.
# When using "vtysh" such a config file is also needed. It should be owned by
# group "quaggavty" and set to ug=rw,o= though. Check /etc/pam.d/quagga, too.
#
# The watchquagga daemon is always started. Per default in monitoring-only but
# that can be changed via /etc/quagga/debian.conf.
#
zebra=yes
bgpd=yes
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
username cumulus nopassword
!
service integrated-vtysh-config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nameserver 8.8.8.8
Loading

0 comments on commit 7e164a8

Please sign in to comment.