parser = argparse.ArgumentParser(description='son-emu network')\r
parser.add_argument(\r
"command",\r
- help="Action to be executed: add|remove")\r
+ choices=['add', 'remove'],\r
+ help="Action to be executed.")\r
parser.add_argument(\r
"--datacenter", "-d", dest="datacenter",\r
help="Data center to in which the network action should be initiated")\r
parser.add_argument(\r
"--bidirectional", "-b", dest="bidirectional",\r
action='store_true',\r
- help="add/remove the flow entries in 2 directions")\r
+ help="add/remove the flow entries from src to dst and back")\r
parser.add_argument(\r
"--cookie", "-c", dest="cookie",\r
- help="cookie for this flow")\r
+ help="cookie for this flow, as easy to use identifier (eg. per tenant/service)")\r
\r
def main(argv):\r
args = vars(parser.parse_args(argv))\r
self.ryu_process.kill()
def ryu_REST(self, prefix, dpid=None, data=None):
- if data: logging.info('log POST: {0}'.format(str(data)))
try:
if dpid:
url = self.ryu_REST_api + '/' + str(prefix) + '/' + str(dpid)
net = DCNetwork(monitor=True, enable_learning=False)
"""
- 1b. add a monitoring agent to the DCNetwork
+ 1b. Add endpoint APIs for the whole DCNetwork,
+ to access and control the networking from outside.
+ e.g., to setup forwarding paths between compute
+ instances aka. VNFs (represented by Docker containers), passing through
+ different switches and datacenters of the emulated topology
"""
mon_api = ZeroRpcApiEndpointDCNetwork("0.0.0.0", 5151)
mon_api.connectDCNetwork(net)
mon_api.start()
+
"""
2. Add (logical) data centers to the topology
(each data center is one "bigswitch" in our simplified