예제 #1
0
def update():
    args = weight.get_args(True)
    i = 0
    with open('temp_commands.txt', 'w') as f:
        for arg in args:
            f.write('table_add route_table select_dip %d %d => %d\n' %
                    (i, 1, arg))
            i += 1
        f.write('register_write version_register 0 %d\n' % (1, ))
    os.system('%s < %s' % (CLI_PATH, 'temp_commands.txt'))
예제 #2
0
DIP_NUM = 4
VER = 0
CLI_PATH = '/home/wsb/bmv2/targets/simple_switch/sswitch_CLI LBswitch.json'

ts = [
    threading.Thread(target=os.system,
                     args=("docker stats h%s > temp_cpu%s" % (i + 1, i + 1), ))
    for i in range(DIP_NUM)
]
for t in ts:
    t.setDaemon(True)
    t.start()

VER += 1
args = weight.get_args(False)
i = 0
with open('temp_commands.txt', 'w') as f:
    for arg in args:
        f.write('table_add route_table select_dip %d %d => %d\n' %
                (i, VER, arg))
        i += 1
    f.write('register_write version_register 0 %d\n' % (VER, ))
    f.write('counter_reset request_counter\n')
os.system('%s < %s' % (CLI_PATH, 'temp_commands.txt'))

while (1):
    if (input() == "update"):
        VER += 1
        args = weight.get_args(True)
        i = 0
예제 #3
0
            print(hex(hash_res))
            CMD = "'table_add version_table select_version %d => %d'" % (
                hash_res, VER)
            do_cmd(CMD)


def do_cmd(CMD):
    os.system('echo %s | %s' % (CMD, CLI_PATH))


def data_plane():
    sniff(iface="veth1", prn=lambda x: handle_pkt(x))


if __name__ == '__main__':
    t1 = threading.Thread(target=data_plane)
    t1.start()
    while (1):
        if (input() == "update"):
            VER += 1
            args = weight.get_args()
            f = open('temp_commands.txt', 'w')
            i = 0
            for arg in args:
                f.write('table_add route_table select_dip %d %d => %d\n' %
                        (i, VER, arg))
                i += 1
            f.write('register_write version_register 0 %d\n' % (VER, ))
            f.close()
            os.system('%s < %s' % (CLI_PATH, 'temp_commands.txt'))