daemon: remove Quagga 'vtysh' service

Since all Quagga daemons are configured from a consolidated
location (the 'zebra' service), there is nothing left to do
for a dedicated service such as 'vtysh'. This patch removes
the service, along with all references to it from the rest
of the source tree (sample *.imn files, examples, etc.)

Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
This commit is contained in:
Gabriel Somlo 2017-01-13 09:33:48 -05:00
parent b4c8be9e23
commit 33906aae9f
15 changed files with 40 additions and 60 deletions

View file

@ -911,12 +911,12 @@ class CoreDocumentParser1(object):
def parse_default_services(self): def parse_default_services(self):
# defaults from the CORE GUI # defaults from the CORE GUI
self.default_services = { self.default_services = {
'router': ['zebra', 'OSPFv2', 'OSPFv3', 'vtysh', 'IPForward'], 'router': ['zebra', 'OSPFv2', 'OSPFv3', 'IPForward'],
'host': ['DefaultRoute', 'SSH'], 'host': ['DefaultRoute', 'SSH'],
'PC': ['DefaultRoute',], 'PC': ['DefaultRoute',],
'mdr': ['zebra', 'OSPFv3MDR', 'vtysh', 'IPForward'], 'mdr': ['zebra', 'OSPFv3MDR', 'IPForward'],
# 'prouter': ['zebra', 'OSPFv2', 'OSPFv3', 'vtysh', 'IPForward'], # 'prouter': ['zebra', 'OSPFv2', 'OSPFv3', 'IPForward'],
# 'xen': ['zebra', 'OSPFv2', 'OSPFv3', 'vtysh', 'IPForward'], # 'xen': ['zebra', 'OSPFv2', 'OSPFv3', 'IPForward'],
} }
default_services = \ default_services = \
getFirstChildByTagName(self.scenario, 'CORE:defaultservices') getFirstChildByTagName(self.scenario, 'CORE:defaultservices')

View file

@ -30,7 +30,6 @@ class Zebra(CoreService):
''' '''
_name = "zebra" _name = "zebra"
_group = "Quagga" _group = "Quagga"
_depends = ("vtysh", )
_dirs = ("/usr/local/etc/quagga", "/var/run/quagga") _dirs = ("/usr/local/etc/quagga", "/var/run/quagga")
_configs = ("/usr/local/etc/quagga/Quagga.conf", _configs = ("/usr/local/etc/quagga/Quagga.conf",
"quaggaboot.sh","/usr/local/etc/quagga/vtysh.conf") "quaggaboot.sh","/usr/local/etc/quagga/vtysh.conf")
@ -593,21 +592,3 @@ class Xpimd(QuaggaService):
return ' ip mfea\n ip igmp\n ip pim\n' return ' ip mfea\n ip igmp\n ip pim\n'
addservice(Xpimd) addservice(Xpimd)
class Vtysh(CoreService):
''' Simple service to run vtysh -b (boot) after all Quagga daemons have
started.
'''
_name = "vtysh"
_group = "Quagga"
_startindex = 45
_startup = ()
_shutdown = ()
@classmethod
def generateconfig(cls, node, filename, services):
return ""
addservice(Vtysh)

View file

@ -109,7 +109,6 @@ class XenNode(PyCoreNode):
#'sh quaggaboot.sh zebra', #'sh quaggaboot.sh zebra',
#'sh quaggaboot.sh ospfd', #'sh quaggaboot.sh ospfd',
#'sh quaggaboot.sh ospf6d', #'sh quaggaboot.sh ospf6d',
'sh quaggaboot.sh vtysh',
'killall zebra', 'killall zebra',
'killall ospfd', 'killall ospfd',
'killall ospf6d', 'killall ospf6d',

View file

@ -70,7 +70,7 @@ def main():
values[ names.index('propagationmodel') ] = '2ray' values[ names.index('propagationmodel') ] = '2ray'
session.emane.setconfig(wlan.objid, EmaneIeee80211abgModel._name, values) session.emane.setconfig(wlan.objid, EmaneIeee80211abgModel._name, values)
services_str = "zebra|OSPFv3MDR|vtysh|IPForward" services_str = "zebra|OSPFv3MDR|IPForward"
print "creating %d nodes with addresses from %s" % \ print "creating %d nodes with addresses from %s" % \
(options.numnodes, prefix) (options.numnodes, prefix)

View file

@ -97,7 +97,7 @@ def main():
parser.add_option("-s", "--services", dest = "services", type = str, parser.add_option("-s", "--services", dest = "services", type = str,
help = "pipe-delimited list of services added to each " \ help = "pipe-delimited list of services added to each " \
"node (default = %s)\n(Example: 'zebra|OSPFv2|OSPFv3|" \ "node (default = %s)\n(Example: 'zebra|OSPFv2|OSPFv3|" \
"vtysh|IPForward')" % parser.defaults["services"]) "IPForward')" % parser.defaults["services"])
def usage(msg = None, err = 0): def usage(msg = None, err = 0):
sys.stdout.write("\n") sys.stdout.write("\n")

View file

@ -66,7 +66,7 @@ def wifisession(opt):
wifi.phy.Set("RxGain", ns.core.DoubleValue(18.0)) wifi.phy.Set("RxGain", ns.core.DoubleValue(18.0))
prefix = ipaddr.IPv4Prefix("10.0.0.0/16") prefix = ipaddr.IPv4Prefix("10.0.0.0/16")
services_str = "zebra|OSPFv3MDR|vtysh|IPForward" services_str = "zebra|OSPFv3MDR|IPForward"
nodes = [] nodes = []
for i in xrange(1, opt.numnodes + 1): for i in xrange(1, opt.numnodes + 1):
node = session.addnode(name = "n%d" % i) node = session.addnode(name = "n%d" % i)

View file

@ -1448,13 +1448,13 @@ Here are the default node types and their services:
.. index:: Xen .. index:: Xen
.. index:: physical nodes .. index:: physical nodes
* *router* - zebra, OSFPv2, OSPFv3, vtysh, and IPForward services for IGP * *router* - zebra, OSFPv2, OSPFv3, and IPForward services for IGP
link-state routing. link-state routing.
* *host* - DefaultRoute and SSH services, representing an SSH server having a * *host* - DefaultRoute and SSH services, representing an SSH server having a
default route when connected directly to a router. default route when connected directly to a router.
* *PC* - DefaultRoute service for having a default route when connected * *PC* - DefaultRoute service for having a default route when connected
directly to a router. directly to a router.
* *mdr* - zebra, OSPFv3MDR, vtysh, and IPForward services for * *mdr* - zebra, OSPFv3MDR, and IPForward services for
wireless-optimized MANET Designated Router routing. wireless-optimized MANET Designated Router routing.
* *prouter* - a physical router, having the same default services as the * *prouter* - a physical router, having the same default services as the
*router* node type; for incorporating Linux testbed machines into an *router* node type; for incorporating Linux testbed machines into an

View file

@ -105,7 +105,7 @@ node n5 {
labelcoords {540.0 376.0} labelcoords {540.0 376.0}
interface-peer {eth0 n10} interface-peer {eth0 n10}
interface-peer {eth1 n15} interface-peer {eth1 n15}
services {zebra OSPFv2 OSPFv3MDR vtysh IPForward} services {zebra OSPFv2 OSPFv3MDR IPForward}
custom-config { custom-config {
custom-config-id service:zebra custom-config-id service:zebra
custom-command zebra custom-command zebra

View file

@ -283,7 +283,7 @@ node n11 {
} }
} }
services {zebra OSPFv2 OSPFv3MDR vtysh IPForward} services {zebra OSPFv2 OSPFv3MDR IPForward}
} }
node n12 { node n12 {
@ -517,7 +517,7 @@ node n20 {
} }
} }
services {zebra OSPFv2 OSPFv3MDR vtysh IPForward} services {zebra OSPFv2 OSPFv3MDR IPForward}
} }
node n21 { node n21 {

View file

@ -20,7 +20,7 @@ node n1 {
interface-peer {eth1 n2} interface-peer {eth1 n2}
interface-peer {eth2 n3} interface-peer {eth2 n3}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -82,7 +82,7 @@ node n2 {
interface-peer {eth1 n16} interface-peer {eth1 n16}
interface-peer {eth2 n6} interface-peer {eth2 n6}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -140,7 +140,7 @@ node n3 {
interface-peer {eth0 n4} interface-peer {eth0 n4}
interface-peer {eth1 n1} interface-peer {eth1 n1}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -197,7 +197,7 @@ node n4 {
interface-peer {eth0 n3} interface-peer {eth0 n3}
interface-peer {eth1 n7} interface-peer {eth1 n7}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -258,7 +258,7 @@ node n5 {
interface-peer {eth0 n7} interface-peer {eth0 n7}
interface-peer {eth1 n6} interface-peer {eth1 n6}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -323,7 +323,7 @@ node n6 {
interface-peer {eth0 n5} interface-peer {eth0 n5}
interface-peer {eth1 n2} interface-peer {eth1 n2}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -376,7 +376,7 @@ node n7 {
interface-peer {eth0 n5} interface-peer {eth0 n5}
interface-peer {eth1 n4} interface-peer {eth1 n4}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf
@ -555,7 +555,7 @@ node n16 {
interface-peer {eth0 n1} interface-peer {eth0 n1}
interface-peer {eth1 n2} interface-peer {eth1 n2}
canvas c1 canvas c1
services {zebra BGP vtysh IPForward} services {zebra BGP IPForward}
custom-config { custom-config {
custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf
custom-command /usr/local/etc/quagga/Quagga.conf custom-command /usr/local/etc/quagga/Quagga.conf

View file

@ -65,7 +65,7 @@ node n1 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_green.gif custom-image $CORE_DATA_DIR/icons/normal/router_green.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -101,7 +101,7 @@ node n2 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_green.gif custom-image $CORE_DATA_DIR/icons/normal/router_green.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -137,7 +137,7 @@ node n3 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_green.gif custom-image $CORE_DATA_DIR/icons/normal/router_green.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -173,7 +173,7 @@ node n4 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_green.gif custom-image $CORE_DATA_DIR/icons/normal/router_green.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -209,7 +209,7 @@ node n5 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_green.gif custom-image $CORE_DATA_DIR/icons/normal/router_green.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -245,7 +245,7 @@ node n6 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -281,7 +281,7 @@ node n7 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -317,7 +317,7 @@ node n8 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -353,7 +353,7 @@ node n9 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh
@ -389,7 +389,7 @@ node n10 {
canvas c1 canvas c1
interface-peer {eth0 n11} interface-peer {eth0 n11}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
services {zebra OSPFv3MDR vtysh SMF IPForward UserDefined} services {zebra OSPFv3MDR SMF IPForward UserDefined}
custom-config { custom-config {
custom-config-id service:UserDefined:custom-post-config-commands.sh custom-config-id service:UserDefined:custom-post-config-commands.sh
custom-command custom-post-config-commands.sh custom-command custom-post-config-commands.sh

View file

@ -51,7 +51,7 @@ node n1 {
cmdup=('sh mgen.sh', ) cmdup=('sh mgen.sh', )
} }
} }
services {zebra OSPFv2 OSPFv3 vtysh IPForward UserDefined} services {zebra OSPFv2 OSPFv3 IPForward UserDefined}
} }
node n2 { node n2 {
@ -101,7 +101,7 @@ node n2 {
mgen input send_$HN.mgn output $LOGDIR/mgen_$HN.log > /dev/null 2> /dev/null < /dev/null & mgen input send_$HN.mgn output $LOGDIR/mgen_$HN.log > /dev/null 2> /dev/null < /dev/null &
} }
} }
services {zebra OSPFv2 OSPFv3 vtysh IPForward UserDefined} services {zebra OSPFv2 OSPFv3 IPForward UserDefined}
} }
link l1 { link l1 {

View file

@ -354,7 +354,7 @@ node n1 {
} }
} }
services {zebra OSPFv2 OSPFv3 vtysh IPForward IPsec} services {zebra OSPFv2 OSPFv3 IPForward IPsec}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
} }
@ -528,7 +528,7 @@ node n2 {
} }
} }
services {zebra OSPFv2 OSPFv3 vtysh IPForward IPsec} services {zebra OSPFv2 OSPFv3 IPForward IPsec}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
} }
@ -697,7 +697,7 @@ node n3 {
} }
} }
services {zebra OSPFv2 OSPFv3 vtysh IPForward IPsec} services {zebra OSPFv2 OSPFv3 IPForward IPsec}
custom-image $CORE_DATA_DIR/icons/normal/router_red.gif custom-image $CORE_DATA_DIR/icons/normal/router_red.gif
} }

View file

@ -15,18 +15,18 @@ if { $execMode == "interactive" } {
# these are the default node types when nodes.conf does not exist # these are the default node types when nodes.conf does not exist
# index {name normal-icon tiny-icon services type metadata} # index {name normal-icon tiny-icon services type metadata}
array set g_node_types_default { array set g_node_types_default {
1 {router router.gif router.gif {zebra OSPFv2 OSPFv3 vtysh IPForward} \ 1 {router router.gif router.gif {zebra OSPFv2 OSPFv3 IPForward} \
netns {built-in type for routing}} netns {built-in type for routing}}
2 {host host.gif host.gif {DefaultRoute SSH} \ 2 {host host.gif host.gif {DefaultRoute SSH} \
netns {built-in type for servers}} netns {built-in type for servers}}
3 {PC pc.gif pc.gif {DefaultRoute} \ 3 {PC pc.gif pc.gif {DefaultRoute} \
netns {built-in type for end hosts}} netns {built-in type for end hosts}}
4 {mdr mdr.gif mdr.gif {zebra OSPFv3MDR vtysh IPForward} \ 4 {mdr mdr.gif mdr.gif {zebra OSPFv3MDR IPForward} \
netns {built-in type for wireless routers}} netns {built-in type for wireless routers}}
5 {prouter router_green.gif router_green.gif \ 5 {prouter router_green.gif router_green.gif \
{zebra OSPFv2 OSPFv3 vtysh IPForward} \ {zebra OSPFv2 OSPFv3 IPForward} \
physical {built-in type for physical nodes}} physical {built-in type for physical nodes}}
6 {xen xen.gif xen.gif {zebra OSPFv2 OSPFv3 vtysh IPForward} \ 6 {xen xen.gif xen.gif {zebra OSPFv2 OSPFv3 IPForward} \
xen {built-in type for Xen PVM domU router}} xen {built-in type for Xen PVM domU router}}
} }

View file

@ -160,7 +160,7 @@ proc upgradeNetworkConfigToServices { } {
set bgp [netconfFetchSection $node "router bgp"] set bgp [netconfFetchSection $node "router bgp"]
if { $ospfv2 != "" || $ospfv3 != "" || $rip != "" || $ripng != "" } { if { $ospfv2 != "" || $ospfv3 != "" || $rip != "" || $ripng != "" } {
set cfg "" set cfg ""
set services "zebra vtysh IPForward" set services "zebra IPForward"
foreach ifc [ifcList $node] { foreach ifc [ifcList $node] {
lappend cfg "interface $ifc" lappend cfg "interface $ifc"
set ifccfg [netconfFetchSection $node "interface $ifc"] set ifccfg [netconfFetchSection $node "interface $ifc"]