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'))
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
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'))