示例#1
0
def topology():
    net = IPNet(use_v4=False,
                allocate_IPs=False,
                switch=OVSKernelSwitch,
                controller=RemoteController,
                topo=topo1)

    net.start()
    IPCLI(net)
    net.stop()
示例#2
0
def test_cli(tmp, net, input_line, expected_lines):

    with open(tmp, "w") as fileobj:
        fileobj.write(input_line + "\n")

    with CLICapture("info") as capture:
        f = open(tmp, "r")
        try:
            IPCLI(net, stdin=f, script=tmp)
        finally:
            f.close()

    pattern = re.compile("")
    for l in expected_lines:
        if isinstance(l, type(pattern)):
            assert len([x for x in capture.out if l.match(x) is not None]) > 0, \
                "Regex '%s' does not match the output of '%s':\n%s" \
                % (l, input_line, "\n".join(capture.out))
        else:
            assert l in capture.out, \
                "Line '%s' cannot be found in the output of '%s':\n%s" \
                % (l, input_line, "\n".join(capture.out))
示例#3
0
    # Start network
    net = IPNet(topo=SimpleTopo(), use_v4=True, allocate_IPs=False)

    try:
        net.start()
        # Execute Commands

        # Enable SRv6 On Routers.
        r1 = RouterConfiguration(net.get('r1'), 1)
        r2 = RouterConfiguration(net.get('r2'), 2)
        r3 = RouterConfiguration(net.get('r3'), 3)
        r4 = RouterConfiguration(net.get('r4'), 4)
        fw = RouterConfiguration(net.get('fw'), 5)

        HostConfiguration(net.get('a'), 'a', 1)
        HostConfiguration(net.get('b'), 'b', 4)
        HostConfiguration(net.get('c'), 'c', 3)

        # RouterConfiguration.build_dx4_tunnel(r1,r3,"a")
        # RouterConfiguration.build_dx4_tunnel(r3,r4,"b")
        # RouterConfiguration.build_dx4_tunnel(r1,r4,"c")

        # RouterConfiguration.build_dx6_tunnel(r1,r3,"a1")
        # RouterConfiguration.build_dx6_tunnel(r3,r4,"b1")
        # RouterConfiguration.build_dx6_tunnel(r1,r4,"c1")

        IPCLI(net)
    finally:
        net.stop()