Files
ipng.ch/static/assets/vpp-papi/vpp_papi_clean.cast
2024-08-04 17:41:39 +02:00

636 lines
95 KiB
Plaintext

{"version":2,"width":84,"height":28,"timestamp":1706468979,"theme":{"fg": "#ffffff","bg":"#000000","palette":"#000000:#990000:#00A600:#999900:#0000B3:#B300B3:#999900:#BFBFBF:#666666:#F60000:#00F600:#F6F600:#0000F6:#F600F6:#00F6F6:#F6F6F6"},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}}
[0.000001,"o","\r\n\u001b[?2004l\r"]
[0.000002,"o","\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[2J\u001b[?12l\u001b[?25h\u001b[?1000l\u001b[?1002l\u001b[?1003l\u001b[?1006l\u001b[?1005l\u001b[?2004h\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[?1006l\u001b[?1000l\u001b[?1002l\u001b[?1003l\u001b[1;1H\u001b[1;28r\u001b[c\u001b[\u003ec\u001b[\u003eq\u001b]10;?\u001b\\\u001b]11;?\u001b\\\u001b[1;17H"]
[0.000005,"o","\u001b[?25l\u001b[32m\u001b[1m\u001b[Hpim@squanchy\u001b(B\u001b[m:\u001b[34m\u001b[1m~\u001b(B\u001b[m$ \u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[97m\u001b[44m\r\n0:ssh- 1:bash* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[1;17H\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[?1006l\u001b[?1000l\u001b[?1002l\u001b[?1003l\u001b[1;1H\u001b[1;28r"]
[0.000025,"o","\u001b[?25l\u001b[32m\u001b[1m\u001b[1;1Hpim@squanchy\u001b(B\u001b[m:\u001b[34m\u001b[1m~\u001b(B\u001b[m$ \u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[97m\u001b[44m\r\n0:ssh- 1:bash* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[1;17H\u001b[?7727h\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[?1006l\u001b[?1000l\u001b[?1002l\u001b[?1003l\u001b[1;1H\u001b[1;28r\u001b[?7727h\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[?1006l\u001b[?1000l\u001b[?1002l\u001b[?1003l\u001b[1;1H\u001b[1;28r"]
[0.000355,"o","\u001b[?25l\u001b[32m\u001b[1m\u001b[1;1Hpim@squanchy\u001b(B\u001b[m:\u001b[34m\u001b[1m~\u001b(B\u001b[m$ \u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[97m\u001b[44m\r\n0:ssh- 1:bash* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[1;17H\u001b[H\u001b[32m\u001b[1mpim@squanchy\u001b(B\u001b[m:\u001b[34m\u001b[1m~\u001b(B\u001b[m$ \u001b[K"]
[0.000411,"o","\r\n"]
[0.000535,"o","\u001b[?25l\u001b[H :%@@@@@@@* \u001b[K\r\n :*@@@@@@@@@@ .=+- \u001b[K\r\n :=*#%@@@@@@@@@@@@@+ .+@@@@# \u001b[K\r\n .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \u001b[K\r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# "]
[0.000686,"o","\u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# \u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# \u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b["]
[0.001694,"o","K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hipng@vpp0-0:~$ "]
[1.501694,"o","\u001b[?25l\u001b[97m\u001b[44m\r\n0:ssh- 1:ssh* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[27;16H"]
[2.001694,"o","c"]
[2.0547430000000015,"o","d"]
[2.1648090000000013,"o"," "]
[2.3448090000000015,"o","v"]
[2.4053820000000012,"o","p"]
[2.5748060000000006,"o","p"]
[2.741861,"o","_"]
[2.9218610000000003,"o","p"]
[3.003319999999999,"o","a"]
[3.1833199999999993,"o","pi_examples\u0007"]
[3.6833199999999993,"o","\u001b[?25l\u001b[H :*@@@@@@@@@@ .=+- \u001b[K\r\n :=*#%@@@@@@@@@@@@@+ .+@@@@# \u001b[K\r\n .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \u001b[K\r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# "]
[3.6835809999999993,"o","\u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# \u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nL"]
[3.683718999999999,"o","ast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hipng@vpp0-0:~/vpp_papi_examples$ "]
[3.8637189999999992,"o","v"]
[3.8930779999999987,"o","i"]
[3.9227509999999994,"o","m"]
[3.990050999999999,"o"," "]
[4.137286,"o","0"]
[4.223272,"o","5"]
[4.403271999999999,"o","-events.py "]
[4.583271999999999,"o","\u001b[?25l\u001b[H :=*#%@@@@@@@@@@@@@+ .+@@@@# \u001b[K\r\n .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \u001b[K\r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# \u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# "]
[4.583565,"o","\u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_ex"]
[4.583663,"o","amples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[4.631511999999999,"o","\u001b[?25l\u001b[H\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[?1006l\u001b[?1000l\u001b[?1002l\u001b[?1003l\u001b[?1006h\u001b[?1000h\u001b[1;27r\u001b[1;1H\u001b[2;27r\u001b[26S\u001b[1;1H\u001b[K\u001b[27d\"05-events.py\" 32L, 834B\u001b[1;28r\u001b[27;25H\u001b[?25l"]
[4.636552999999999,"o","\u001b[2;1H▽\r \r\n \u001b[H"]
[4.643407,"o","\u001b[34m#!/usr/bin/env python3\u001b[39m\r\n\u001b[K\r\n\u001b[35mimport\u001b[39m time\u001b[K\r\n\u001b[35mfrom\u001b[39m vpp_papi \u001b[35mimport\u001b[39m VPPApiClient, VPPApiJSONFiles, VppEnum\u001b[6;1H\u001b[33mdef\u001b[39m \u001b[36msw_interface_event\u001b[39m(msg):\r\n \u001b[36mprint\u001b[39m(msg)\u001b[9;1H\u001b[33mdef\u001b[39m \u001b[36mvpp_event_callback\u001b[39m(msg_name, msg):\r\n \u001b[33mif\u001b[39m msg_name == \u001b[31m\"sw_interface_event\"\u001b[39m:\r\n sw_interface_event(msg)\r\n \u001b[33melse\u001b[39m:\r\n \u001b[36mprint\u001b[39m(f\u001b[31m\"Received unknown callback: {msg_name} =\u003e {msg}\"\u001b[39m)\u001b[16;1Hvpp_api_socket = \u001b[31m\"/run/vpp/api.sock\"\r\n\u001b[39mvpp_json_dir = VPPApiJSONFiles.find_api_dir([])\r\nvpp_jsonfiles = VPPApiJSONFiles.find_api_files(api_dir=vpp_json_dir)\r\nvpp = VPPApiClient(apifiles=vpp_jsonfiles, server_address=vpp_api_socket)\u001b[21;1Hvpp.connect(\u001b[31m\"ipng-client\"\u001b[39m)\r\nvpp.register_event_callback(vpp_event_callback)\r\nvpp.api.want_interface_events(enable_disable=\u001b[36mTrue\u001b[39m, pid=\u001b[31m8298\u001b[39m)\u001b[25;1Hapi_reply = vpp.api.show_version()\r\n\u001b[36mprint\u001b[39m(f\u001b[31m\"VPP version is {api_reply.version}\"\u001b[39m)\u001b[27;67H1,1\u001b[11CTop\u001b"]
[4.643445,"o","[H\u001b[?12l\u001b[?25h"]
[5.143445,"o","\u001b[27;57H \u001b[9C2,0-1\u001b[2;1H"]
[5.304321999999999,"o","\u001b[27;57H \u001b[9C3,1 \u001b[3;1H"]
[5.481579,"o","\u001b[27;57H \u001b[9C4\u001b[4;1H"]
[5.610247999999999,"o","\u001b[27;57H \u001b[9C5,0-1\u001b[5;1H"]
[5.790247999999998,"o","\u001b[27;57H \u001b[9C6,1 \u001b[6;1H"]
[5.970247999999998,"o","\u001b[27d\u001b[1m-- VISUAL BLOCK --\u001b(B\u001b[m\u001b[38X\u001b[38C1x1\u001b[7X\u001b[7C6,1\u001b[11X\u001b[11CTop\u001b[K\u001b[6;1H"]
[6.147516999999997,"o","\u001b[33m\u001b[7md\u001b[27;57H\u001b(B\u001b[m1x2\u001b[9C2\u001b[6;2H"]
[6.327516999999997,"o","\u001b[33m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x3\u001b[9C3\u001b[6;3H"]
[6.428196999999997,"o","\u001b[33m\u001b[7mf\u001b[27;57H\u001b(B\u001b[m1x4\u001b[9C4\u001b[6;4H"]
[6.519795999999996,"o","\u001b[27;57Hl \u001b[6;4H\u001b[?25l\u001b[7m \u001b[27;57H\u001b(B\u001b[m1x5\u001b[9C5\u001b[6;5H\u001b[?12l\u001b[?25h"]
[6.571294999999996,"o","\u001b[27;57Hl \u001b[6;5H\u001b[?25l"]
[6.572633999999997,"o","\u001b[36m\u001b[7ms\u001b[27;57H\u001b(B\u001b[m1x6\u001b[9C6\u001b[6;6H\u001b[?12l\u001b[?25h"]
[6.665410999999995,"o","\u001b[27;57Hl \u001b[6;6H\u001b[?25l\u001b[36m\u001b[7mw\u001b[27;57H\u001b(B\u001b[m1x7\u001b[9C7\u001b[6;7H\u001b[?12l\u001b[?25h"]
[6.771671999999995,"o","\u001b[36m\u001b[7m_\u001b[27;57H\u001b(B\u001b[m1x8\u001b[9C8\u001b[6;8H"]
[6.821893999999997,"o","\u001b[27;57Hl \u001b[6;8H\u001b[?25l\u001b[36m\u001b[7mi\u001b[27;57H\u001b(B\u001b[m1x9\u001b[9C9\u001b[6;9H\u001b[?12l\u001b[?25h"]
[6.917716999999996,"o","\u001b[27;57Hl \u001b[6;9H\u001b[?25l"]
[6.920042999999996,"o","\u001b[36m\u001b[7mn\u001b[27;57H\u001b(B\u001b[m1x10\u001b[8C10\u001b[6;10H\u001b[?12l\u001b[?25h"]
[7.007569999999998,"o","\u001b[27;57Hl \u001b[6;10H\u001b[?25l\u001b[36m\u001b[7mt\u001b[27;57H\u001b(B\u001b[m1x11\u001b[9C1\u001b[6;11H\u001b[?12l\u001b[?25h"]
[7.098156999999997,"o","\u001b[27;57Hl \u001b[6;11H\u001b[?25l\u001b[36m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x12\u001b[9C2\u001b[6;12H\u001b[?12l\u001b[?25h"]
[7.192681999999998,"o","\u001b[27;57Hl \u001b[6;12H\u001b[?25l\u001b[36m\u001b[7mr\u001b[27;57H\u001b(B\u001b[m1x13\u001b[9C3\u001b[6;13H\u001b[?12l\u001b[?25h"]
[7.240415999999996,"o","\u001b[27;57Hl \u001b[6;13H\u001b[?25l"]
[7.241534999999995,"o","\u001b[36m\u001b[7mf\u001b[27;57H\u001b(B\u001b[m1x14\u001b[9C4\u001b[6;14H\u001b[?12l\u001b[?25h"]
[7.326841999999996,"o","\u001b[27;57Hl \u001b[6;14H\u001b[?25l\u001b[36m\u001b[7ma\u001b[27;57H\u001b(B\u001b[m1x15\u001b[9C5\u001b[6;15H\u001b[?12l\u001b[?25h"]
[7.410277999999995,"o","\u001b[27;57Hl \u001b[6;15H\u001b[?25l\u001b[36m\u001b[7mc\u001b[27;57H\u001b(B\u001b[m1x16\u001b[9C6\u001b[6;16H\u001b[?12l\u001b[?25h"]
[7.507695999999996,"o","\u001b[27;57Hl \u001b[6;16H\u001b[?25l\u001b[36m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x17\u001b[9C7\u001b[6;17H\u001b[?12l\u001b[?25h"]
[7.597936999999995,"o","\u001b[27;57Hl \u001b[6;17H\u001b[?25l\u001b[36m\u001b[7m_\u001b[27;57H\u001b(B\u001b[m1x18\u001b[9C8\u001b[6;18H\u001b[?12l\u001b[?25h"]
[7.661244999999997,"o","\u001b[27;57Hl \u001b[6;18H\u001b[?25l\u001b[36m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x19\u001b[9C9\u001b[6;19H\u001b[?12l\u001b[?25h"]
[7.749777999999996,"o","\u001b[27;57Hl \u001b[6;19H\u001b[?25l"]
[7.751011999999996,"o","\u001b[36m\u001b[7mv\u001b[27;57H\u001b(B\u001b[m1x20\u001b[8C20\u001b[6;20H\u001b[?12l\u001b[?25h"]
[7.847547999999996,"o","\u001b[27;57Hl \u001b[6;20H\u001b[?25l\u001b[36m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x21\u001b[9C1\u001b[6;21H\u001b[?12l\u001b[?25h"]
[7.913544999999996,"o","\u001b[27;57Hl \u001b[6;21H\u001b[?25l\u001b[36m\u001b[7mn\u001b[27;57H\u001b(B\u001b[m1x22\u001b[9C2\u001b[6;22H\u001b[?12l\u001b[?25h"]
[8.000168999999996,"o","\u001b[27;57Hl \u001b[6;22H\u001b[?25l"]
[8.001115999999996,"o","\u001b[36m\u001b[7mt\u001b(B\u001b[m\u001b[46m(\u001b[49mmsg\u001b[46m)\u001b[27;57H\u001b[49m1x23\u001b[9C3\u001b[6;23H\u001b[?12l\u001b[?25h"]
[8.159740999999997,"o","\u001b[27;57Hl \u001b[6;23H\u001b[?25l\u001b[7m(\u001b(B\u001b[mmsg)\u001b[27;57H1x24\u001b[9C4\u001b[6;24H\u001b[?12l\u001b[?25h"]
[8.659740999999997,"o","\u001b[27;57H^[ \u001b[6;24H\u001b[?25l"]
[8.760054999999998,"o","\r\u001b[33mdef\u001b[39m \u001b[36msw_interface_event\u001b[39m(\u001b[27;66H\u001b[1K\u001b[C6,24\u001b[10X\u001b[10CTop\u001b[K\u001b[6;24H\u001b[?12l\u001b[?25h"]
[8.828844999999998,"o","\u001b[27;57Hj\u001b[6;24H\u001b[?25l"]
[8.830161999999998,"o","\u001b[7;8H\u001b[46m(\u001b[49mmsg\u001b[46m)\u001b[27;57H\u001b[49m \u001b[9C7,12\u001b[7;12H\u001b[?12l\u001b[?25h"]
[9.009131,"o","\u001b[27;57Hj\u001b[7;12H\u001b[?25l\u001b[4D(msg)\u001b[27;57H \u001b[9C8,0-1\u001b[8;1H\u001b[?12l\u001b[?25h"]
[9.189131,"o","\u001b[27;57Hj\u001b[8;1H\u001b[?25l\u001b[27;57H \u001b[9C9,24 \u001b[9;24H\u001b[?12l\u001b[?25h"]
[9.369131,"o","\u001b[27;57H0\u001b[9;24H\u001b[?25l\u001b[27;57H \u001b[11C1 \u001b[9;1H\u001b[?12l\u001b[?25h"]
[9.549131,"o","\u001b[27d\u001b[1m-- VISUAL BLOCK --\u001b[38C\u001b(B\u001b[m1x1\u001b[7X\u001b[7C9,1\u001b[11X\u001b[11CTop\u001b[K\u001b[9;1H"]
[9.683347999999999,"o","\u001b[27;57Hl \u001b[9;1H\u001b[?25l"]
[9.685153,"o","\u001b[33m\u001b[7md\u001b[27;57H\u001b(B\u001b[m1x2\u001b[9C2\u001b[9;2H\u001b[?12l\u001b[?25h"]
[9.865153,"o","\u001b[27;57Hl \u001b[9;2H\u001b[?25l\u001b[33m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x3\u001b[9C3\u001b[9;3H\u001b[?12l\u001b[?25h"]
[9.958312,"o","\u001b[27;57Hl \u001b[9;3H\u001b[?25l\u001b[33m\u001b[7mf\u001b[27;57H\u001b(B\u001b[m1x4\u001b[9C4\u001b[9;4H\u001b[?12l\u001b[?25h"]
[10.057849999999998,"o","\u001b[27;57Hl \u001b[9;4H\u001b[?25l\u001b[7m \u001b[27;57H\u001b(B\u001b[m1x5\u001b[9C5\u001b[9;5H\u001b[?12l\u001b[?25h"]
[10.118559999999999,"o","\u001b[27;57Hl \u001b[9;5H\u001b[?25l\u001b[36m\u001b[7mv\u001b[27;57H\u001b(B\u001b[m1x6\u001b[9C6\u001b[9;6H\u001b[?12l\u001b[?25h"]
[10.219653999999998,"o","\u001b[27;57Hl \u001b[9;6H\u001b[?25l\u001b[36m\u001b[7mp\u001b[27;57H\u001b(B\u001b[m1x7\u001b[9C7\u001b[9;7H\u001b[?12l\u001b[?25h"]
[10.283099999999997,"o","\u001b[27;57Hl \u001b[9;7H\u001b[?25l"]
[10.284229,"o","\u001b[36m\u001b[7mp\u001b[27;57H\u001b(B\u001b[m1x8\u001b[9C8\u001b[9;8H\u001b[?12l\u001b[?25h"]
[10.387619999999998,"o","\u001b[27;57Hl \u001b[9;8H\u001b[?25l\u001b[36m\u001b[7m_\u001b[27;57H\u001b(B\u001b[m1x9\u001b[9C9\u001b[9;9H\u001b[?12l\u001b[?25h"]
[10.450972,"o","\u001b[27;57Hl \u001b[9;9H\u001b[?25l\u001b[36m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x10\u001b[8C10\u001b[9;10H\u001b[?12l\u001b[?25h"]
[10.538777999999997,"o","\u001b[27;57Hl \u001b[9;10H\u001b[?25l\u001b[36m\u001b[7mv\u001b[27;57H\u001b(B\u001b[m1x11\u001b[9C1\u001b[9;11H\u001b[?12l\u001b[?25h"]
[10.637331,"o","\u001b[27;57Hl \u001b[9;11H\u001b[?25l\u001b[36m\u001b[7me\u001b[27;57H\u001b(B\u001b[m1x12\u001b[9C2\u001b[9;12H\u001b[?12l\u001b[?25h"]
[10.704864999999998,"o","\u001b[27;57Hl \u001b[9;12H\u001b[?25l\u001b[36m\u001b[7mn\u001b[27;57H\u001b(B\u001b[m1x13\u001b[9C3\u001b[9;13H\u001b[?12l\u001b[?25h"]
[10.797645,"o","\u001b[27;57Hl \u001b[9;13H\u001b[?25l\u001b[36m\u001b[7mt\u001b[27;57H\u001b(B\u001b[m1x14\u001b[9C4\u001b[9;14H\u001b[?12l\u001b[?25h"]
[10.898162,"o","\u001b[27;57Hl \u001b[9;14H\u001b[?25l\u001b[36m\u001b[7m_\u001b[27;57H\u001b(B\u001b[m1x15\u001b[9C5\u001b[9;15H\u001b[?12l\u001b[?25h"]
[10.957805999999998,"o","\u001b[27;57Hl \u001b[9;15H\u001b[?25l\u001b[36m\u001b[7mc\u001b[27;57H\u001b(B\u001b[m1x16\u001b[9C6\u001b[9;16H\u001b[?12l\u001b[?25h"]
[11.036722999999999,"o","\u001b[27;57Hl \u001b[9;16H\u001b[?25l\u001b[36m\u001b[7ma\u001b[27;57H\u001b(B\u001b[m1x17\u001b[9C7\u001b[9;17H\u001b[?12l\u001b[?25h"]
[11.138091,"o","\u001b[27;57Hl \u001b[9;17H\u001b[?25l\u001b[36m\u001b[7ml\u001b[27;57H\u001b(B\u001b[m1x18\u001b[9C8\u001b[9;18H\u001b[?12l\u001b[?25h"]
[11.207203,"o","\u001b[27;57Hl \u001b[9;18H\u001b[?25l\u001b[36m\u001b[7ml\u001b[27;57H\u001b(B\u001b[m1x19\u001b[9C9\u001b[9;19H\u001b[?12l\u001b[?25h"]
[11.308104,"o","\u001b[27;57Hl \u001b[9;19H\u001b[?25l\u001b[36m\u001b[7mb\u001b[27;57H\u001b(B\u001b[m1x20\u001b[8C20\u001b[9;20H\u001b[?12l\u001b[?25h"]
[11.374855999999998,"o","\u001b[27;57Hl \u001b[9;20H\u001b[?25l\u001b[36m\u001b[7ma\u001b[27;57H\u001b(B\u001b[m1x21\u001b[9C1\u001b[9;21H\u001b[?12l\u001b[?25h"]
[11.459788999999997,"o","\u001b[27;57Hl \u001b[9;21H\u001b[?25l\u001b[36m\u001b[7mc\u001b[27;57H\u001b(B\u001b[m1x22\u001b[9C2\u001b[9;22H\u001b[?12l\u001b[?25h"]
[11.639788999999997,"o","\u001b[27;57Hl \u001b[9;22H\u001b[?25l"]
[11.641753999999999,"o","\u001b[36m\u001b[7mk\u001b(B\u001b[m\u001b[46m(\u001b[13C)\u001b[27;57H\u001b[49m1x23\u001b[9C3\u001b[9;23H\u001b[?12l\u001b[?25h"]
[12.141753999999999,"o","\u001b[27;57H^[ \u001b[9;23H\u001b[?25l"]
[12.242255,"o","\r\u001b[33mdef\u001b[39m \u001b[36mvpp_event_callback\u001b[39m\u001b[27;66H\u001b[1K\u001b[C9,23\u001b[10X\u001b[10CTop\u001b[K\u001b[9;23H\u001b[?12l\u001b[?25h"]
[12.391735999999998,"o","\u001b[27;57Hj\u001b[9;23H\u001b[?25l(\u001b[13C)\u001b[27;57H \u001b[9C10,23\u001b[10;23H\u001b[?12l\u001b[?25h"]
[12.571735999999998,"o","\u001b[27;57Hj\u001b[10;23H\u001b[?25l"]
[12.573125999999998,"o","\n\u001b[46m(\u001b[49mmsg\u001b[46m)\u001b[27;57H\u001b[49m \u001b[10C1\u001b[11;23H\u001b[?12l\u001b[?25h"]
[12.753125999999998,"o","\u001b[27;57Hj\u001b[11;23H\u001b[?25l(msg)\u001b[27;57H \u001b[10C2,7 \u001b[12;7H\u001b[?12l\u001b[?25h"]
[12.818868999999996,"o","\u001b[27;57Hj\u001b[12;7H\u001b[?25l\u001b[27;57H \u001b[10C3,23\u001b[13;23H\u001b[?12l\u001b[?25h"]
[12.913264999999996,"o","\u001b[27;57Hj\u001b[13;23H\u001b[?25l\u001b[27;57H \u001b[10C4,0-1\u001b[14;1H\u001b[?12l\u001b[?25h"]
[13.016184999999997,"o","\u001b[27;57Hj\u001b[14;1H\u001b[?25l\u001b[27;57H \u001b[10C5\u001b[15;1H\u001b[?12l\u001b[?25h"]
[13.082901999999997,"o","\u001b[27;57Hj\u001b[15;1H\u001b[?25l\u001b[27;57H \u001b[10C6,23 \u001b[16;23H\u001b[?12l\u001b[?25h"]
[13.153255999999995,"o","\u001b[27;57Hj\u001b[16;23H\u001b[?25l\u001b[27;57H \u001b[10C7\u001b[17;23H\u001b[?12l\u001b[?25h"]
[13.238237999999996,"o","\u001b[27;57Hj\u001b[17;23H\u001b[?25l"]
[13.239388999999996,"o","\u001b[27;57H \u001b[10C8\u001b[18;23H\u001b[?12l\u001b[?25h"]
[13.333070999999997,"o","\u001b[27;57Hj\u001b[18;23H\u001b[?25l\u001b[27;57H \u001b[10C9\u001b[19;23H\u001b[?12l\u001b[?25h"]
[13.513070999999997,"o","\u001b[27;57Hj\u001b[19;23H\u001b[?25l\u001b[27;57H \u001b[9C20,0-1\u001b[20;1H\u001b[?12l\u001b[?25h"]
[13.693070999999996,"o","\u001b[27;57Hj\u001b[20;1H\u001b[?25l\u001b[27;57H \u001b[10C1,23 \u001b[21;23H\u001b[?12l\u001b[?25h"]
[13.873070999999996,"o","\u001b[27;57Hj\u001b[21;23H\u001b[?25l"]
[13.874498999999997,"o","\u001b[27;57H \u001b[21;23H\u001b[?12l\u001b[?25h"]
[13.878515999999998,"o","\u001b[?25l\u001b[H\u001b[K\u001b[35m\r\nimport\u001b[39m time\u001b[K\u001b[35m\r\nfrom\u001b[39m vpp_papi \u001b[35mimport\u001b[39m VPPApiClient, VPPApiJSONFiles, VppEnum\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36msw_interface_event\u001b[39m(msg):\u001b[K\r\n \u001b[36mprint\u001b[39m(msg)\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36mvpp_event_callback\u001b[39m(msg_name, msg):\u001b[K\r\n \u001b[33mif\u001b[39m msg_name == \u001b[31m\"sw_interface_event\"\u001b[39m:\u001b[K\r\n sw_interface_event(msg)\u001b[K\r\n \u001b[33melse\u001b[39m:\u001b[K\r\n \u001b[36mprint\u001b[39m(f\u001b[31m\"Received unknown callback: {msg_name} =\u003e {msg}\"\u001b[39m)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nvpp_api_socket = \u001b[31m\"/run/vpp/api.sock\"\u001b[39m\u001b[K\r\nvpp_json_dir = VPPApiJSONFiles.find_api_dir([])\u001b[K\r\nvpp_jsonfiles = VPPApiJSONFiles.find_api_files(api_dir=vpp_json_dir)\u001b[K\r\nvpp = VPPApiClient(apifiles=vpp_jsonfiles, server_address=vpp_api_socket)\u001b[K\r\n\u001b[K\r\nvpp.connect(\u001b[31m\"ipng-client\"\u001b[39m)\u001b[K\r\nvpp.register_event_callback(vpp_event_callback)\u001b[K\r\nvpp.api.want_interface_events(enable_disable=\u001b[36mTrue\u001b[39m, pid=\u001b[31m8298\u001b[39m)\u001b[K\r\n\u001b[K\r\napi_reply = vpp.api.show_version()\u001b[K\u001b[36m\r\nprint\u001b[39m(f\u001b[31m\"VPP version is {api_reply.versi"]
[13.878536999999998,"o","on}\"\u001b[39m)\u001b[K\r\n\u001b[K\u001b[27;56H\u001b[1K\u001b[C \u001b[9X\u001b[9C22,23\u001b[9X\u001b[9C16%\u001b[K\u001b[?12l\u001b[?25h\u001b[21;23H"]
[14.058536999999998,"o","\u001b[27;57H0\u001b[21;23H\u001b[?25l"]
[14.059839999999998,"o","\u001b[27;57H \u001b[12C1 \u001b[21;1H\u001b[?12l\u001b[?25h"]
[14.239839999999997,"o","\u001b[27;57H^V\u001b[21;1H\u001b[?25l\u001b[27d\u001b[1m-- VISUAL BLOCK --\u001b[38C\u001b(B\u001b[m1x1\u001b[7X\u001b[7C22,1\u001b[10X\u001b[10C16%\u001b[K\u001b[21;1H\u001b[?12l\u001b[?25h"]
[14.419008999999999,"o","\u001b[27;57Hj \u001b[21;1H\u001b[?25l\u001b[27;57H2x1\u001b[21;1H\u001b[?12l\u001b[?25h"]
[14.424944,"o","\u001b[?25l\u001b[35m\u001b[Himport\u001b[39m time\u001b[K\u001b[35m\r\nfrom\u001b[39m vpp_papi \u001b[35mimport\u001b[39m VPPApiClient, VPPApiJSONFiles, VppEnum\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36msw_interface_event\u001b[39m(msg):\u001b[K\r\n \u001b[36mprint\u001b[39m(msg)\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36mvpp_event_callback\u001b[39m(msg_name, msg):\u001b[K\r\n \u001b[33mif\u001b[39m msg_name == \u001b[31m\"sw_interface_event\"\u001b[39m:\u001b[K\r\n sw_interface_event(msg)\u001b[K\r\n \u001b[33melse\u001b[39m:\u001b[K\r\n \u001b[36mprint\u001b[39m(f\u001b[31m\"Received unknown callback: {msg_name} =\u003e {msg}\"\u001b[39m)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nvpp_api_socket = \u001b[31m\"/run/vpp/api.sock\"\u001b[39m\u001b[K\r\nvpp_json_dir = VPPApiJSONFiles.find_api_dir([])\u001b[K\r\nvpp_jsonfiles = VPPApiJSONFiles.find_api_files(api_dir=vpp_json_dir)\u001b[K\r\nvpp = VPPApiClient(apifiles=vpp_jsonfiles, server_address=vpp_api_socket)\u001b[K\r\n\u001b[K\r\nvpp.connect(\u001b[31m\"ipng-client\"\u001b[39m)\u001b[K\u001b[7m\r\nv\u001b(B\u001b[mpp.register_event_callback(vpp_event_callback)\u001b[K\r\nvpp.api.want_interface_events(enable_disable=\u001b[36mTrue\u001b[39m, pid=\u001b[31m8298\u001b[39m)\u001b[K\r\n\u001b[K\r\napi_reply = vpp.api.show_version()\u001b[K\u001b[36m\r\nprint\u001b[39m(f\u001b[31m\"VPP version is {api_reply."]
[14.425123,"o","version}\"\u001b[39m)\u001b[K\r\n\u001b[K\u001b[33m\r\ntry\u001b[39m:\u001b[K\u001b[1m\r\n-- VISUAL BLOCK --\u001b(B\u001b[m\u001b[38X\u001b[38C2x1\u001b[7X\u001b[7C23,1\u001b[10X\u001b[10C33%\u001b[K\u001b[?12l\u001b[?25h\u001b[21;1H"]
[14.529378999999999,"o","\u001b[27;57Hl \u001b[21;1H\u001b[?25l\u001b[20;2H\u001b[7mp\r\nv\u001b[27;57H\u001b(B\u001b[m2x2\u001b[10C2\u001b[21;2H\u001b[?12l\u001b[?25h"]
[14.709378999999998,"o","\u001b[27;57Hl \u001b[21;2H\u001b[?25l"]
[14.710718999999997,"o","\u001b[20;3H\u001b[7mp\r\nvp\u001b[27;57H\u001b(B\u001b[m2x3\u001b[10C3\u001b[21;3H\u001b[?12l\u001b[?25h"]
[14.800145999999998,"o","\u001b[27;57Hl \u001b[21;3H\u001b[?25l\u001b[20;4H\u001b[7m.\r\nvpp\u001b[27;57H\u001b(B\u001b[m2x4\u001b[10C4\u001b[21;4H\u001b[?12l\u001b[?25h"]
[14.85435,"o","\u001b[27;57Hl \u001b[21;4H\u001b[?25l"]
[14.855587999999997,"o","\u001b[20;5H\u001b[7mr\r\nvpp.\u001b[27;57H\u001b(B\u001b[m2x5\u001b[10C5\u001b[21;5H\u001b[?12l\u001b[?25h"]
[14.950522999999997,"o","\u001b[27;57Hl \u001b[21;5H\u001b[?25l\u001b[20;6H\u001b[7me\r\nvpp.a\u001b[27;57H\u001b(B\u001b[m2x6\u001b[10C6\u001b[21;6H\u001b[?12l\u001b[?25h"]
[15.060126,"o","\u001b[27;57Hl \u001b[21;6H\u001b[?25l\u001b[20;7H\u001b[7mg\u001b[21;6Hp\u001b[27;57H\u001b(B\u001b[m2x7\u001b[10C7\u001b[21;7H\u001b[?12l\u001b[?25h"]
[15.120466999999998,"o","\u001b[27;57Hl \u001b[21;7H\u001b[?25l\u001b[20;8H\u001b[7mi\u001b[21;7Hi\u001b[27;57H\u001b(B\u001b[m2x8\u001b[10C8\u001b[21;8H\u001b[?12l\u001b[?25h"]
[15.209181999999998,"o","\u001b[27;57Hl \u001b[21;8H\u001b[?25l"]
[15.211148999999999,"o","\u001b[20;9H\u001b[7ms\u001b[21;8H.\u001b[27;57H\u001b(B\u001b[m2x9\u001b[10C9\u001b[21;9H\u001b[?12l\u001b[?25h"]
[15.275236999999997,"o","\u001b[27;57Hl \u001b[21;9H\u001b[?25l\u001b[20;10H\u001b[7mt\u001b[21;9Hw\u001b[27;57H\u001b(B\u001b[m2x10\u001b[9C10\u001b[21;10H\u001b[?12l\u001b[?25h"]
[15.36206,"o","\u001b[27;57Hl \u001b[21;10H\u001b[?25l\u001b[20;11H\u001b[7me\u001b[21;10Ha\u001b[27;57H\u001b(B\u001b[m2x11\u001b[10C1\u001b[21;11H\u001b[?12l\u001b[?25h"]
[15.459591999999997,"o","\u001b[27;57Hl \u001b[21;11H\u001b[?25l"]
[15.461110999999999,"o","\u001b[20;12H\u001b[7mr\u001b[21;11Hn\u001b[27;57H\u001b(B\u001b[m2x12\u001b[10C2\u001b[21;12H\u001b[?12l\u001b[?25h"]
[15.523917999999998,"o","\u001b[27;57Hl \u001b[21;12H\u001b[?25l"]
[15.525191999999997,"o","\u001b[20;13H\u001b[7m_\u001b[21;12Ht\u001b[27;57H\u001b(B\u001b[m2x13\u001b[10C3\u001b[21;13H\u001b[?12l\u001b[?25h"]
[15.619688999999997,"o","\u001b[27;57Hl \u001b[21;13H\u001b[?25l"]
[15.620866,"o","\u001b[20;14H\u001b[7me\u001b[21;13H_\u001b[27;57H\u001b(B\u001b[m2x14\u001b[10C4\u001b[21;14H\u001b[?12l\u001b[?25h"]
[15.689695999999998,"o","\u001b[27;57Hl \u001b[21;14H\u001b[?25l\u001b[20;15H\u001b[7mv\u001b[21;14Hi\u001b[27;57H\u001b(B\u001b[m2x15\u001b[10C5\u001b[21;15H\u001b[?12l\u001b[?25h"]
[15.789007999999999,"o","\u001b[27;57Hl \u001b[21;15H\u001b[?25l"]
[15.790128,"o","\u001b[20;16H\u001b[7me\u001b[21;15Hn\u001b[27;57H\u001b(B\u001b[m2x16\u001b[10C6\u001b[21;16H\u001b[?12l\u001b[?25h"]
[15.860038,"o","\u001b[27;57Hl \u001b[21;16H\u001b[?25l\u001b[20;17H\u001b[7mn\u001b[21;16Ht\u001b[27;57H\u001b(B\u001b[m2x17\u001b[10C7\u001b[21;17H\u001b[?12l\u001b[?25h"]
[15.960956,"o","\u001b[27;57Hl \u001b[21;17H\u001b[?25l\u001b[20;18H\u001b[7mt\u001b[21;17He\u001b[27;57H\u001b(B\u001b[m2x18\u001b[10C8\u001b[21;18H\u001b[?12l\u001b[?25h"]
[16.025806,"o","\u001b[27;57Hl \u001b[21;18H\u001b[?25l"]
[16.026977,"o","\u001b[20;19H\u001b[7m_\u001b[21;18Hr\u001b[27;57H\u001b(B\u001b[m2x19\u001b[10C9\u001b[21;19H\u001b[?12l\u001b[?25h"]
[16.111527,"o","\u001b[27;57Hl \u001b[21;19H\u001b[?25l\u001b[20;20H\u001b[7mc\u001b[21;19Hf\u001b[27;57H\u001b(B\u001b[m2x20\u001b[9C20\u001b[21;20H\u001b[?12l\u001b[?25h"]
[16.196327999999998,"o","\u001b[27;57Hl \u001b[21;20H\u001b[?25l\u001b[20;21H\u001b[7ma\u001b[21;20Ha\u001b[27;57H\u001b(B\u001b[m2x21\u001b[10C1\u001b[21;21H\u001b[?12l\u001b[?25h"]
[16.280120999999998,"o","\u001b[27;57Hl \u001b[21;21H\u001b[?25l\u001b[20;22H\u001b[7ml\u001b[21;21Hc\u001b[27;57H\u001b(B\u001b[m2x22\u001b[10C2\u001b[21;22H\u001b[?12l\u001b[?25h"]
[16.380907999999998,"o","\u001b[27;57Hl \u001b[21;22H\u001b[?25l"]
[16.382053,"o","\u001b[20;23H\u001b[7ml\u001b[21;22He\u001b[27;57H\u001b(B\u001b[m2x23\u001b[10C3\u001b[21;23H\u001b[?12l\u001b[?25h"]
[16.445545,"o","\u001b[27;57Hl \u001b[21;23H\u001b[?25l\u001b[20;24H\u001b[7mb\u001b[21;23H_\u001b[27;57H\u001b(B\u001b[m2x24\u001b[10C4\u001b[21;24H\u001b[?12l\u001b[?25h"]
[16.550355999999997,"o","\u001b[27;57Hl \u001b[21;24H\u001b[?25l\u001b[20;25H\u001b[7ma\u001b[21;24He\u001b[27;57H\u001b(B\u001b[m2x25\u001b[10C5\u001b[21;25H\u001b[?12l\u001b[?25h"]
[16.721327,"o","\u001b[27;57Hl \u001b[21;25H\u001b[?25l"]
[16.723041,"o","\u001b[20;26H\u001b[7mc\u001b[21;25Hv\u001b[27;57H\u001b(B\u001b[m2x26\u001b[10C6\u001b[21;26H\u001b[?12l\u001b[?25h"]
[16.896721,"o","\u001b[27;57Hl \u001b[21;26H\u001b[?25l\u001b[20;27H\u001b[7mk\u001b[21;26He\u001b[27;57H\u001b(B\u001b[m2x27\u001b[10C7\u001b[21;27H\u001b[?12l\u001b[?25h"]
[17.059365,"o","\u001b[27;57Hl \u001b[21;27H\u001b[?25l"]
[17.060713,"o","\u001b[20;28H\u001b[7m(\u001b[21;27Hn\u001b[27;57H\u001b(B\u001b[m2x28\u001b[10C8\u001b[21;28H\u001b[?12l\u001b[?25h"]
[17.220202999999998,"o","\u001b[27;57Hl \u001b[21;28H\u001b[?25l\u001b[20;29H\u001b[7mv\u001b[21;28Ht\u001b[27;57H\u001b(B\u001b[m2x29\u001b[10C9\u001b[21;29H\u001b[?12l\u001b[?25h"]
[17.400202999999998,"o","\u001b[27;57Hl \u001b[21;29H\u001b[?25l"]
[17.401881999999993,"o","\u001b[20;30H\u001b[7mp\u001b[21;29Hs\u001b(B\u001b[m\u001b[46m(\u001b[29C)\u001b[27;57H\u001b[49m2x30\u001b[9C30\u001b[21;30H\u001b[?12l\u001b[?25h"]
[18.901881999999993,"o","\u001b[27;57H^[ \u001b[21;30H\u001b[?25l"]
[19.002442999999992,"o","\u001b[27;57H2x30^[\u001b[21;30H"]
[19.003365999999993,"o","\u001b[20;1Hvpp.register_event_callback(vp\r\nvpp.api.want_interface_events\u001b[27;66H\u001b[1K\u001b[C23,30\u001b[9X\u001b[9C33%\u001b[K\u001b[21;30H\u001b[?12l\u001b[?25h"]
[19.058964999999993,"o","\u001b[27;57Hj\u001b[21;30H\u001b[?25l"]
[19.06080399999999,"o","\u001b[27;57H \u001b[21;1H\u001b[?12l\u001b[?25h"]
[19.06728799999999,"o","\u001b[?25l\u001b[35m\u001b[Hfrom\u001b[39m vpp_papi \u001b[35mimport\u001b[39m VPPApiClient, VPPApiJSONFiles, VppEnum\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36msw_interface_event\u001b[39m(msg):\u001b[K\r\n \u001b[36mprint\u001b[39m(msg)\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36mvpp_event_callback\u001b[39m(msg_name, msg):\u001b[K\r\n \u001b[33mif\u001b[39m msg_name == \u001b[31m\"sw_interface_event\"\u001b[39m:\u001b[K\r\n sw_interface_event(msg)\u001b[K\r\n \u001b[33melse\u001b[39m:\u001b[K\r\n \u001b[36mprint\u001b[39m(f\u001b[31m\"Received unknown callback: {msg_name} =\u003e {msg}\"\u001b[39m)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nvpp_api_socket = \u001b[31m\"/run/vpp/api.sock\"\u001b[39m\u001b[K\r\nvpp_json_dir = VPPApiJSONFiles.find_api_dir([])\u001b[K\r\nvpp_jsonfiles = VPPApiJSONFiles.find_api_files(api_dir=vpp_json_dir)\u001b[K\r\nvpp = VPPApiClient(apifiles=vpp_jsonfiles, server_address=vpp_api_socket)\u001b[K\r\n\u001b[K\r\nvpp.connect(\u001b[31m\"ipng-client\"\u001b[39m)\u001b[K\r\nvpp.register_event_callback(vpp_event_callback)\u001b[K\r\nvpp.api.want_interface_events(enable_disable=\u001b[36mTrue\u001b[39m, pid=\u001b[31m8298\u001b[39m)\u001b[K\r\n\u001b[K\r\napi_reply = vpp.api.show_version()\u001b[K\u001b[36m\r\nprint\u001b[39m(f\u001b[31m\"VPP version is {api_reply.version}\"\u001b[39m)\u001b[K\r\n\u001b[K\u001b[33m\r\ntry\u001b[3"]
[19.06757799999999,"o","9m:\u001b[K\u001b[26;2H\u001b[1K\u001b[33m\u001b[Cwhile\u001b[39m \u001b[36mTrue\u001b[39m:\u001b[K\u001b[27;56H\u001b[1K\u001b[C \u001b[9X\u001b[9C24,0-1\u001b[8X\u001b[8C50%\u001b[K\u001b[?12l\u001b[?25h\u001b[21;1H"]
[19.24757799999999,"o","\u001b[27;57HG\u001b[21;1H\u001b[?25l"]
[19.248563999999988,"o","\u001b[27;57H \u001b[26;3H\u001b[?12l\u001b[?25h"]
[19.251712999999988,"o","\u001b[?25l\u001b[H \u001b[36mprint\u001b[39m(msg)\u001b[K\r\n\u001b[K\u001b[33m\r\ndef\u001b[39m \u001b[36mvpp_event_callback\u001b[39m(msg_name, msg):\u001b[K\r\n \u001b[33mif\u001b[39m msg_name == \u001b[31m\"sw_interface_event\"\u001b[39m:\u001b[K\r\n sw_interface_event(msg)\u001b[K\r\n \u001b[33melse\u001b[39m:\u001b[K\r\n \u001b[36mprint\u001b[39m(f\u001b[31m\"Received unknown callback: {msg_name} =\u003e {msg}\"\u001b[39m)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nvpp_api_socket = \u001b[31m\"/run/vpp/api.sock\"\u001b[39m\u001b[K\r\nvpp_json_dir = VPPApiJSONFiles.find_api_dir([])\u001b[K\r\nvpp_jsonfiles = VPPApiJSONFiles.find_api_files(api_dir=vpp_json_dir)\u001b[K\r\nvpp = VPPApiClient(apifiles=vpp_jsonfiles, server_address=vpp_api_socket)\u001b[K\r\n\u001b[K\r\nvpp.connect(\u001b[31m\"ipng-client\"\u001b[39m)\u001b[K\r\nvpp.register_event_callback(vpp_event_callback)\u001b[K\r\nvpp.api.want_interface_events(enable_disable=\u001b[36mTrue\u001b[39m, pid=\u001b[31m8298\u001b[39m)\u001b[K\r\n\u001b[K\r\napi_reply = vpp.api.show_version()\u001b[K\u001b[36m\r\nprint\u001b[39m(f\u001b[31m\"VPP version is {api_reply.version}\"\u001b[39m)\u001b[K\r\n\u001b[K\u001b[33m\r\ntry\u001b[39m:\u001b[K\u001b[23;2H\u001b[1K\u001b[33m\u001b[Cwhile\u001b[39m \u001b[36mTrue\u001b[39m:\u001b[K\u001b[24;4H\u001b[1K\u001b[Ctime.sleep(\u001b[31m1\u001b[39m)\u001b[K\u001b[33m\r\nexcept\u001b[39m \u001b[32mKeyboardInterrupt\u001b[39m:\u001b"]
[19.25193699999999,"o","[K\r\n \u001b[33mpass\u001b[39m\u001b[K\u001b[27;56H\u001b[1K\u001b[C \u001b[9X\u001b[9C32,3\u001b[10X\u001b[10CBot\u001b[K\u001b[?12l\u001b[?25h\u001b[26;3H"]
[19.43193699999999,"o","\u001b[27;57Hk\u001b[26;3H\u001b[?25l"]
[19.433018999999987,"o","\u001b[27;57H \u001b[10C1\u001b[25;3H\u001b[?12l\u001b[?25h"]
[19.613018999999987,"o","\u001b[27;57Hk\u001b[25;3H\u001b[?25l\u001b[27;57H \u001b[10C0\u001b[24;3H\u001b[?12l\u001b[?25h"]
[19.793018999999987,"o","\u001b[27;57Hk\u001b[24;3H\u001b[?25l"]
[19.794783999999986,"o","\u001b[27;57H \u001b[9C29\u001b[23;3H\u001b[?12l\u001b[?25h"]
[19.974783999999985,"o","\u001b[27;57H^V\u001b[23;3H\u001b[?25l"]
[19.975812999999988,"o","\u001b[27;1H\u001b[1m-- VISUAL BLOCK --\u001b[38C\u001b(B\u001b[m1x1\u001b[7X\u001b[7C29,3\u001b[10X\u001b[10CBot\u001b[K\u001b[23;3H\u001b[?12l\u001b[?25h"]
[20.155812999999988,"o","\u001b[27;57Hj \u001b[23;3H\u001b[?25l\u001b[33m\u001b[7mw\u001b[27;57H\u001b(B\u001b[m2x1\u001b[7C30\u001b[24;3H\u001b[?12l\u001b[?25h"]
[20.335812999999987,"o","\u001b[27;57Hl \u001b[24;3H\u001b[?25l\u001b[23;4H\u001b[33m\u001b[7mh\r\n\u001b(B\u001b[m \u001b[7m \u001b[27;57H\u001b(B\u001b[m2x2\u001b[10C4\u001b[24;4H\u001b[?12l\u001b[?25h"]
[20.515812999999987,"o","\u001b[27;57Hl \u001b[24;4H\u001b[?25l"]
[20.517578999999984,"o","\u001b[23;5H\u001b[33m\u001b[7mi\u001b[24;4H\u001b[39m \u001b[27;57H\u001b(B\u001b[m2x3\u001b[10C5\u001b[24;5H\u001b[?12l\u001b[?25h"]
[20.612120999999988,"o","\u001b[27;57Hl \u001b[24;5H\u001b[?25l"]
[20.615048999999985,"o","\u001b[23;6H\u001b[33m\u001b[7ml\u001b[24;5H\u001b[39mt\u001b[27;57H\u001b(B\u001b[m2x4\u001b[10C6\u001b[24;6H\u001b[?12l\u001b[?25h"]
[20.68047699999999,"o","\u001b[27;57Hl \u001b[24;6H\u001b[?25l\u001b[23;7H\u001b[33m\u001b[7me\u001b[24;6H\u001b[39mi\u001b[27;57H\u001b(B\u001b[m2x5\u001b[10C7\u001b[24;7H\u001b[?12l\u001b[?25h"]
[20.78138399999999,"o","\u001b[27;57Hl \u001b[24;7H\u001b[?25l"]
[20.782263999999984,"o","\u001b[23;8H\u001b[7m \u001b[24;7Hm\u001b[27;57H\u001b(B\u001b[m2x6\u001b[10C8\u001b[24;8H\u001b[?12l\u001b[?25h"]
[20.848890999999988,"o","\u001b[27;57Hl \u001b[24;8H\u001b[?25l"]
[20.850481999999985,"o","\u001b[23;9H\u001b[36m\u001b[7mT\u001b[24;8H\u001b[39me\u001b[27;57H\u001b(B\u001b[m2x7\u001b[10C9\u001b[24;9H\u001b[?12l\u001b[?25h"]
[20.95167399999999,"o","\u001b[27;57Hl \u001b[24;9H\u001b[?25l\u001b[23;10H\u001b[36m\u001b[7mr\u001b[24;9H\u001b[39m.\u001b[27;57H\u001b(B\u001b[m2x8\u001b[10C10\u001b[24;10H\u001b[?12l\u001b[?25h"]
[21.01748399999999,"o","\u001b[27;57Hl \u001b[24;10H\u001b[?25l\u001b[23;11H\u001b[36m\u001b[7mu\u001b[24;10H\u001b[39ms\u001b[27;57H\u001b(B\u001b[m2x9\u001b[11C1\u001b[24;11H\u001b[?12l\u001b[?25h"]
[21.12177099999999,"o","\u001b[27;57Hl \u001b[24;11H\u001b[?25l\u001b[23;12H\u001b[36m\u001b[7me\u001b[24;11H\u001b[39ml\u001b[27;57H\u001b(B\u001b[m2x10\u001b[10C2\u001b[24;12H\u001b[?12l\u001b[?25h"]
[21.18626299999999,"o","\u001b[27;57Hl \u001b[24;12H\u001b[?25l\u001b[23;13H\u001b[7m:\u001b[24;12He\u001b[27;57H\u001b(B\u001b[m2x11\u001b[10C3\u001b[24;13H\u001b[?12l\u001b[?25h"]
[21.281693999999987,"o","\u001b[27;57Hl \u001b[24;13H\u001b[?25l\u001b[7me\u001b[27;57H\u001b(B\u001b[m2x12\u001b[10C4\u001b[24;14H\u001b[?12l\u001b[?25h"]
[21.38233299999999,"o","\u001b[27;57Hl \u001b[24;14H\u001b[?25l\u001b[7mp\u001b(B\u001b[m\u001b[46m(\u001b[C)\u001b[27;57H\u001b[49m2x13\u001b[10C5\u001b[24;15H\u001b[?12l\u001b[?25h"]
[21.44030199999999,"o","\u001b[27;57Hl \u001b[24;15H\u001b[?25l"]
[21.44160499999999,"o","\u001b[7m(\u001b[C\u001b(B\u001b[m)\u001b[27;57H2x14\u001b[10C6\u001b[24;16H\u001b[?12l\u001b[?25h"]
[21.526474999999984,"o","\u001b[27;57Hl \u001b[24;16H\u001b[?25l"]
[21.527880999999986,"o","\u0008\u001b[46m\u001b[7m(\u001b[49m\u001b[31m1\u001b(B\u001b[m\u001b[46m)\u001b[27;57H\u001b[49m2x15\u001b[10C7\u001b[24;17H\u001b[?12l\u001b[?25h"]
[21.622100999999986,"o","\u001b[27;57Hl \u001b[24;17H\u001b[?25l\u0008\u0008\u001b[7m(\u001b[C)\u001b[27;57H\u001b(B\u001b[m2x16\u001b[10C8\u001b[24;18H\u001b[?12l\u001b[?25h"]
[21.721391999999987,"o","\u001b[27;57H2x16\u001b[24;18H\u0007"]
[22.221391999999987,"o","\u001b[27;57H^[ \u001b[24;18H\u001b[?25l"]
[22.321120999999984,"o","\u001b[27;57H2x16^[\u001b[24;18H"]
[22.324196999999984,"o","\u001b[23;3H\u001b[33mwhile\u001b[39m \u001b[36mTrue\u001b[39m:\r\n time.sleep\u001b[46m(\u001b[49m\u001b[31m1\u001b[39m\u001b[46m)\u001b[49m\u001b[27;66H\u001b[1K\u001b[C30,17\u001b[9X\u001b[9CBot\u001b[K\u001b[24;17H\u001b[?12l\u001b[?25h"]
[22.347946999999984,"o","\u001b[27;57Hj\u001b[24;17H\u001b[?25l\u0008\u0008(\u001b[C)\u001b[27;57H \u001b[10C1\u001b[25;17H\u001b[?12l\u001b[?25h"]
[22.499325999999982,"o","\u001b[27;57Hj\u001b[25;17H\u001b[?25l\u001b[27;57H \u001b[10C2,6 \u001b[26;6H\u001b[?12l\u001b[?25h"]
[22.668345999999985,"o","\u001b[27;57H \u001b[26;6H\u0007"]
[22.848345999999985,"o","\r\n:\u001b[55C\u001b[K\u001b[2G\u001b[?1006l\u001b[?1000l\u001b[?1002l\u001b[?1003l"]
[23.028345999999985,"o","q"]
[23.208345999999985,"o","!"]
[23.388345999999984,"o","\r"]
[23.389866999999988,"o","\u001b[K"]
[23.403484999999982,"o","\u001b[?25l\u001b[H :=*#%@@@@@@@@@@@@@+ .+@@@@# \u001b[K\r\n .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \u001b[K\r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# \u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# "]
[23.403736999999985,"o","\u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_ex"]
[23.403880999999984,"o","amples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hipng@vpp0-0:~/vpp_papi_examples$ "]
[23.583880999999984,"o","."]
[23.644106999999984,"o","/"]
[23.824106999999984,"o","0"]
[23.908788999999985,"o","5-events.py "]
[24.088788999999984,"o","\u001b[?25l\u001b[H .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \u001b[K\r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# \u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# \u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- "]
[24.08909399999999,"o","\u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\nipng@vpp0-0:~/vpp_p"]
[24.089246999999986,"o","api_examples$ ./05-events.py \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[24.589246999999986,"o","\u001b[?25l\u001b[H +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# \u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# \u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* "]
[24.589508999999993,"o","\u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./05-events.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\n\u001b[K\u001b[?12"]
[24.589629999999993,"o","l\u001b[?25h"]
[26.089629999999993,"o","\u001b[?25l\u001b[13A───────────────────────────────────────────\u001b[32m─────────────────────────────────────────\u001b(B\u001b[m\u001b[1;1H .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r"]
[26.090003999999993,"o","\nipng@vpp0-0:~/vpp_papi_examples$ ./05-events.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\n\u001b[K\u001b[2B\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[97m\u001b[44m\r\n0:ssh- 1:ssh* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[15;1H\u001b[32m\u001b[1mpim@squanchy\u001b(B\u001b[m:\u001b[34m\u001b[1m~\u001b(B\u001b[m$ "]
[26.096098999999995,"o","\u001b[?25l\u001b[14;1H───────────────────────────────────────────\u001b[32m─────────────────────────────────────────\u001b(B\u001b[m\u001b[97m\u001b[44m\u001b[28;1H0:ssh- 1:bash* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[15;17H"]
[26.596098999999995,"o","#"]
[26.741515,"o","#"]
[26.809014999999995,"o"," "]
[26.983567,"o","O"]
[27.039668999999996,"o","K"]
[27.219668999999996,"o",","]
[27.296413,"o"," "]
[27.418355,"o","w"]
[27.506391999999998,"o","e"]
[27.586714999999998,"o","'"]
[27.6787,"o","r"]
[27.723833,"o","e"]
[27.789918999999998,"o"," "]
[27.908926,"o","c"]
[27.980922999999997,"o","o"]
[28.024271999999996,"o","n"]
[28.172694,"o","n"]
[28.230540999999995,"o","e"]
[28.307245,"o","c"]
[28.486148,"o","t"]
[28.525095999999998,"o","e"]
[28.690345,"o","d"]
[28.782627999999995,"o"," "]
[28.873920999999996,"o","t"]
[28.971311999999998,"o","o"]
[29.010306,"o"," "]
[29.101810999999998,"o","t"]
[29.215876,"o","h"]
[29.260118,"o","e"]
[29.353598999999996,"o"," "]
[29.468243,"o","V"]
[29.557339999999996,"o","P"]
[29.711942999999998,"o","P"]
[29.779796999999995,"o"," "]
[29.933704,"o","A"]
[30.03022,"o","P"]
[30.067507,"o","I"]
[30.196830999999996,"o"," "]
[30.298862,"o","a"]
[30.389685999999998,"o","n"]
[30.44762,"o","d"]
[30.538683999999996,"o"," "]
[30.627699999999997,"o","w"]
[30.708248999999995,"o","a"]
[30.755119999999998,"o","i"]
[30.890684999999998,"o","t"]
[30.99196,"o","i"]
[31.051826999999996,"o","n"]
[31.137988999999997,"o","g"]
[31.234856,"o"," "]
[31.361413999999996,"o","f"]
[31.405436,"o","o"]
[31.508018,"o","r"]
[31.571334999999998,"o"," "]
[31.654443,"o","e"]
[31.834443,"o","v"]
[31.878805999999997,"o","e"]
[31.937111,"o","n"]
[32.09626,"o","t"]
[32.166979,"o","s"]
[32.225309,"o"," "]
[32.279554,"o","."]
[32.459554,"o","."]
[32.550901999999994,"o","."]
[34.050901999999994,"o","\r\n\u001b[32m\u001b[1mpim@squanchy\u001b(B\u001b[m:\u001b[34m\u001b[1m~\u001b(B\u001b[m$ "]
[34.23090199999999,"o","## OK, we're connected to the VPP API and waiting for events ...\u001b[17G"]
[34.41090199999999,"o","tmux a\u001b[K\u001b[6D"]
[34.59090199999999,"o","\u001b[C\u001b[1P\u0008"]
[34.77090199999999,"o","\u001b[C\u001b[1@m\u0008\u0008"]
[34.95090199999999,"o","ssh ipng@mgmt.vpp0-0.lab.ipng.ch\u001b[17G"]
[35.13090199999999,"o","/\u001b[K"]
[35.226153999999994,"o","s"]
[35.406153999999994,"o","\u0008\u001b[K"]
[35.55984499999999,"o","\u0008ssh ipng@mgmt.vpp0-0.lab.ipng.ch\u001b[17G"]
[35.73984499999999,"o","\r\n"]
[37.23984499999999,"o","Linux vpp0-0 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64\r\n"]
[37.24131999999999,"o"," -*%%= \r\n =%@@@@@: \r\n :%@@@@@@@* \r\n :*@@@@@@@@@@ .=+- \r\n :=*#%@@@@@@@@@@@@@+ .+@@@@# \r\n .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \r\n"]
[37.260831999999986,"o","\u001b[?25l\u001b[12A :*@@@@@@@@@@ .=+- \u001b[K\r\n :=*#%@@@@@@@@@@@@@+ .+@@@@# \u001b[K\r\n .+@@@@@@@@@@@@@@@@@@@@##@@@@@@@= \u001b[K\r\n +@@@@@@@@@@@%*+@@@@@@@@@@@@@@@@@* \u001b[K\r\n =@@@@@@@@@#=: *@@@@%#*+*@@@@@@@# \u001b[K\r\n -%@@@@@@@*- ::. :*@@@@@@@@@ \u001b[K\r\n =%@@@@@@@+ *@@@@@@@@@@@* \u001b[K\r\n :*@@@@@@@@+ %@@@@@@@@@@@@@@+. \u001b[K\r\n -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# "]
[37.261046999999984,"o"," \u001b[K\r\n\u001b[K\u001b[13A───────────────────────────────────────────\u001b[32m─────────────────────────────────────────\u001b(B\u001b[m\u001b[97m\u001b[44m\u001b[28;1H0:ssh- 1:ssh* 3:ssh \u001b[93msquanchy.ipng.ch\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[27;1H\u001b[?25l\u001b[12A -*@@@@@@@@@+ +%@@@@@@@@@@@@@@@*. \u001b[K\r\n .-+%@@@@@@@@@#- =@@@@@@@@@@@@@@@+ \u001b[K\r\n :=*%@@@@@@@@%*=: @@@@@@@@@@@@@@@@# \u001b[K\r\n :+#@@@@@@@#*+-: :*%@@@@@@%%@@@@@@@@@@@@@@@@@# \u001b[K\r\n .=#@@%#*+=-. :##%%@@@@@@@@@@@@@@@@@@@@@@@@@# \u001b[K\r\n .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%"]
[37.26120499999998,"o","%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\u001b[?12l\u001b[?25h"]
[37.26637599999999,"o","\u001b[?25l\u001b[15;1H .-=-: ..:-=+*#%@@@@@@@@@@@@@@- \u001b[K\r\n ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ \u001b[K\u001b[?"]
[37.26646799999998,"o","12l\u001b[?25h"]
[37.44646799999998,"o","c"]
[37.47180799999998,"o","d"]
[37.56701799999998,"o"," "]
[37.68996199999998,"o","v"]
[37.77797099999998,"o","p"]
[37.91229999999998,"o","p"]
[39.41229999999998,"o","_"]
[39.59229999999998,"o","p"]
[39.652673999999976,"o","a"]
[39.82088099999997,"o","pi_examples\u0007"]
[40.00088099999997,"o","\u001b[?25l\u001b[15;1H ..::--==++***##%%%%@@@@@@@@@@@@@@@@%%%##***+==-::. .-=*#@@@@@@@@* \u001b[K\r\n .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[40.00208899999998,"o","ipng@vpp0-0:~/vpp_papi_examples$ "]
[41.50208899999998,"o","v"]
[41.601270999999976,"o","p"]
[41.741517999999964,"o","p"]
[41.80114999999997,"o","c"]
[41.98114999999997,"o","t"]
[42.04844199999998,"o","l"]
[42.54844199999998,"o","\u001b[?25l\u001b[15;1H .:=+*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-: :=+#@@@% \u001b[K\r\n ..:--=+**#%@@@@@@@@@@@@@@@@@@@@@@%#*##%@@@@@@@@@@@@@@@#+-. .-+-\u001b[K\r\n .:=+*#%@@@@@@@@@@@@@@@@#+=:..-=+#%@@@@@@@@@@@@#+-. \u001b[K\r\n .:=+#%@@@@@@@@@@@@@@@#+-. :-+#@@@@@@@@@@@%= \u001b[K\r\n https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[42.55584199999997,"o","\u001b[?25l\u001b[12A IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# \u001b[K\u001b[?12l\u001b[?25h"]
[42.73584199999997,"o","c"]
[42.91584199999997,"o","r"]
[42.960556999999966,"o","e"]
[43.13833499999997,"o","\u001b[3Dcreate "]
[43.63833499999997,"o","s"]
[43.74783899999997,"o","u"]
[43.778765999999976,"o","b"]
[43.958765999999976,"o","-"]
[44.138765999999976,"o","in"]
[44.29270499999997,"o","\u001b[6Dsub-interfaces "]
[44.47270499999997,"o","G"]
[44.611923999999966,"o","i"]
[44.73800599999996,"o","gt"]
[44.792339999999975,"o","a"]
[44.972339999999974,"o","\u0008 \u0008"]
[45.102301999999966,"o","\u0008 \u0008"]
[45.16653899999997,"o","a"]
[45.34653899999997,"o","b"]
[45.376408999999974,"o","i"]
[45.46602899999997,"o","t"]
[45.64602899999997,"o","E"]
[45.78606999999997,"o","t"]
[45.885741999999965,"o","h"]
[45.93022799999997,"o","e"]
[45.99132799999997,"o","r"]
[46.09547599999996,"o","n"]
[46.18931099999996,"o","e"]
[46.24647499999996,"o","t"]
[46.42647499999996,"o","1"]
[46.526373999999954,"o","0"]
[46.706373999999954,"o","/"]
[46.866298999999955,"o","0"]
[47.03625099999995,"o","/"]
[47.12607199999995,"o","3"]
[47.22573399999996,"o"," "]
[47.31469299999996,"o","1"]
[47.41072399999996,"o","0"]
[47.59072399999996,"o","\u001b[?25l\u001b[15;1H :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[47.59178699999996,"o","\u001b[?25l\u001b[12ARestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# \u001b[K\u001b[?12l\u001b[?25h"]
[47.59410699999996,"o","\u001b[?25l\u001b[H https://ipng.ch/ :-+#@@@@@@@@@@@@@@@#+-. .-+*%@%*-. \u001b[K\r\n IPng Networks GmbH :=*%@@@@@@@@@@@@@%*- \u001b[K\r\n :=*%@@@@@@@#+-. \u001b[K\r\nRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./05-events.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27;6H"]
[49.09410699999996,"o","s"]
[49.248460999999956,"o","e"]
[49.335102999999954,"o","t"]
[49.42130199999995,"o"," "]
[49.48303599999995,"o","i"]
[49.54177299999996,"o","n"]
[49.64261199999995,"o","\u0008\u0008interface "]
[49.82261199999995,"o","s"]
[50.00261199999995,"o","t"]
[50.058636999999955,"o","\u0008\u0008state "]
[50.558636999999955,"o","G"]
[50.72183599999996,"o","i"]
[50.81390599999995,"o","g"]
[50.99390599999995,"o","a"]
[51.17390599999995,"o","b"]
[51.25868599999996,"o","i"]
[51.35877899999996,"o","t"]
[51.53877899999996,"o","E"]
[51.67758799999996,"o","t"]
[51.77939999999995,"o","h"]
[51.80561799999995,"o","e"]
[51.898332999999965,"o","r"]
[51.95273599999996,"o","n"]
[52.077564999999964,"o","e"]
[52.117981999999955,"o","t"]
[52.297981999999955,"o","1"]
[52.35824499999996,"o","0"]
[52.53824499999996,"o","/"]
[52.67905399999995,"o","0"]
[52.81757899999995,"o","/"]
[52.90803299999996,"o","3"]
[53.01253399999996,"o"," "]
[53.19029899999995,"o","u"]
[53.24786099999996,"o","p"]
[53.42786099999996,"o","\u001b[?25l\u001b[15;1HAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[53.42892399999996,"o","vpp# "]
[53.438146999999965,"o","\u001b[?25l\u001b[HRestricted access. Authorized users only. :=+-. \u001b[K\r\nAll connections are monitored and recorded. Contact \u003cnoc@ipng.ch\u003e for details.\u001b[K\r\nLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./05-events.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27;6H"]
[53.938146999999965,"o","set interface state GigabitEthernet10/0/3 up"]
[54.438146999999965,"o","\u0008 \u0008"]
[54.59931799999996,"o","\u0008 \u0008"]
[54.77931799999996,"o","\u0008 \u0008"]
[54.95931799999996,"o","."]
[55.13854199999995,"o","1"]
[55.23872299999996,"o","0"]
[55.33903599999996,"o"," "]
[55.51903599999996,"o","u"]
[55.570993999999956,"o","p"]
[57.070993999999956,"o","\u001b[?25l\u001b[15;1HLast login: Sun Jan 28 20:09:48 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# \u001b[K\u001b[?12l\u001b[?25h"]
[57.07359299999996,"o","\u001b[?25l\u001b[HLast login: Sun Jan 28 20:07:28 2024 from 198.19.4.4\u001b[K\r\nipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./05-events.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27;6H"]
[57.25359299999996,"o","d"]
[57.38809099999995,"o","e"]
[57.53208999999996,"o","l"]
[57.56063599999995,"o","e"]
[57.71842799999995,"o","\u001b[4Ddelete "]
[57.89842799999995,"o","s"]
[58.002964999999946,"o","u"]
[58.025349999999946,"o","b"]
[58.118623999999954,"o","\u001b[3Dsub-interface "]
[58.618623999999954,"o","G"]
[58.75126699999994,"o","i"]
[58.84163999999994,"o","g"]
[58.94204399999995,"o","a"]
[59.12204399999995,"o","b"]
[59.181452999999955,"o","i"]
[59.25155599999996,"o","t"]
[59.43155599999996,"o","E"]
[59.57109899999995,"o","t"]
[59.65418099999995,"o","h"]
[59.70424899999995,"o","e"]
[59.80019499999996,"o","r"]
[59.87263499999996,"o","n"]
[59.962165999999954,"o","e"]
[60.02242699999995,"o","t"]
[60.20242699999995,"o","1"]
[60.29786699999995,"o","0"]
[60.47786699999995,"o","/"]
[60.65739899999994,"o","0"]
[60.777674999999945,"o","/"]
[60.91708099999994,"o","3"]
[61.09708099999994,"o","."]
[61.26970299999994,"o","1"]
[61.37968699999994,"o","0"]
[61.55968699999994,"o","\u001b[?25l\u001b[15;1Hipng@vpp0-0:~$ cd vpp_papi_examples\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hvpp# "]
[61.569540999999944,"o","\u001b[?25l\u001b[Hipng@vpp0-0:~/vpp_papi_examples$ vim 05-events.py \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./05-events.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27;6H"]
[63.069540999999944,"o","delete sub-interface GigabitEthernet10/0/3.10"]
[63.249540999999944,"o","\u001b[5D \u001b[4D\u001b[19D \u001b[17D"]
[63.251133999999944,"o","\u001b[11D \u001b[11D\u001b[6Gset interface state GigabitEthernet10/0/3.10 up"]
[63.751133999999944,"o","\u001b[6D \u001b[5D\u001b[19G \u001b[18G"]
[63.75249199999994,"o","\u001b[6Gset interface state GigabitEthernet10/0/3 up"]
[63.93249199999994,"o","\u0008 \u0008"]
[64.09111999999993,"o","\u0008 \u0008"]
[64.27111999999994,"o","d"]
[64.35991299999993,"o","o"]
[64.48042899999994,"o","w"]
[64.57010199999993,"o","n"]
[64.75010199999994,"o","\u001b[?25l\u001b[15;1Hipng@vpp0-0:~/vpp_papi_examples$ vppctl\u001b[K\u001b[31m\u001b[1m\r\n _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hvpp# "]
[64.75554099999994,"o","\u001b[?25l\u001b[HVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27;6H"]
[65.25554099999994,"o","\u001b[?25l\u001b[31m\u001b[1m\u001b[15;1H _______ _ \u001b(B\u001b[m _ _____ ___ \u001b[K\u001b[31m\u001b[1m\r\n __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[65.25689399999995,"o","ipng@vpp0-0:~/vpp_papi_examples$ "]
[66.75689399999995,"o","\u001b[?25l\u001b[14;1H\u001b[32m───────────────────────────────────────────\u001b[39m─────────────────────────────────────────\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[13;1H"]
[66.93689399999995,"o","\u001b[?25l\u001b[Hsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[67.11041799999995,"o","\u001b[?25l\u001b[H\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[67.24394699999995,"o","\u001b[?25l\u001b[Hsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[67.42394699999996,"o","\u001b[?25l\r\n───────────────────────────────────────────\u001b[32m─────────────────────────────────────────\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[27;34H"]
[67.92394699999996,"o","#"]
[68.07222599999996,"o","#"]
[68.19910099999996,"o"," "]
[68.33441099999996,"o","R"]
[68.49976299999996,"o","e"]
[68.55964399999995,"o","m"]
[68.70930699999995,"o","m"]
[68.88930699999996,"o","\u0008\u001b[K"]
[68.99874299999996,"o","e"]
[69.09905299999996,"o","m"]
[69.27905299999996,"o","b"]
[69.34107799999997,"o","e"]
[69.40150599999997,"o","r"]
[69.46218399999997,"o"," "]
[69.56438599999996,"o","t"]
[69.66279699999997,"o","h"]
[69.72393399999996,"o","a"]
[69.82105199999997,"o","t"]
[69.92565799999996,"o"," "]
[70.42565799999996,"o","0"]
[70.48909699999996,"o","4"]
[70.66909699999997,"o","-"]
[70.84909699999997,"o","v"]
[71.02909699999998,"o","x"]
[71.10213999999999,"o","l"]
[71.19267299999998,"o","a"]
[71.24794299999998,"o","n"]
[71.42794299999998,"o","."]
[71.60794299999999,"o","p"]
[71.787943,"o","y"]
[71.927904,"o"," "]
[72.006228,"o","s"]
[72.103602,"o","c"]
[72.275883,"o","r"]
[72.40750799999999,"o","i"]
[72.467647,"o","p"]
[72.567112,"o","t"]
[72.74341,"o","?"]
[72.843574,"o"," "]
[72.987376,"o","I"]
[73.108739,"o","t"]
[73.167819,"o"," "]
[73.271959,"o","a"]
[73.417324,"o","l"]
[73.474932,"o","s"]
[73.540927,"o","o"]
[73.631439,"o"," "]
[73.777089,"o","c"]
[73.948098,"o","r"]
[74.00838399999999,"o","e"]
[74.06759699999999,"o","a"]
[74.247597,"o","t"]
[74.312249,"o","\u001b[?25l\u001b[31m\u001b[1m\u001b[15;1H __/ __/ _ \\ (_)__ \u001b(B\u001b[m | | / / _ \\/ _ \\\u001b[K\u001b[31m\u001b[1m\r\n _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also create \u001b[K\u001b[?12l\u001b[?25h\r"]
[74.492249,"o","s"]
[74.67224900000001,"o"," "]
[74.85224900000001,"o","a"]
[74.94905300000002,"o"," "]
[75.04127800000002,"o","f"]
[75.18650400000001,"o","e"]
[75.24187700000002,"o","w"]
[75.34330500000002,"o"," "]
[75.40160600000002,"o","i"]
[75.47198000000002,"o","n"]
[75.50166200000002,"o","t"]
[75.65194000000002,"o","e"]
[75.68173900000002,"o","r"]
[75.86173900000003,"o","f"]
[75.92093800000002,"o","a"]
[76.03042500000002,"o","c"]
[76.11219600000003,"o","e"]
[76.28948400000003,"o","s"]
[76.42109500000002,"o"," "]
[76.48205200000002,"o","."]
[76.66205200000003,"o","."]
[76.76295100000003,"o","."]
[77.26295100000003,"o","\u001b[?25l\u001b[31m\u001b[1m\u001b[15;1H _/ _// // / / / _ \\\u001b(B\u001b[m | |/ / ___/ ___/\u001b[K\u001b[31m\u001b[1m\r\n /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hipng@vpp0-0:~/vpp_papi_examples$ "]
[77.44295100000004,"o","."]
[77.47505300000005,"o","/"]
[77.65505300000005,"o","0"]
[77.83079600000005,"o","4"]
[78.01079600000006,"o","-"]
[78.19079600000006,"o","v"]
[78.37079600000007,"o","x"]
[78.50913100000007,"o","l"]
[78.61903900000007,"o","a"]
[78.71809500000008,"o","n"]
[78.86416200000008,"o",".py "]
[80.36416200000008,"o","\u001b[?25l\u001b[31m\u001b[1m\u001b[15;1H /_/ /____(_)_/\\___/\u001b(B\u001b[m |___/_/ /_/ \u001b[K\r\n\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[80.86416200000008,"o","\u001b[?25l\u001b[12A\u001b[K\r\nvpp# create sub-interfaces GigabitEthernet10/0/3 10\u001b[K\r\nGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[?25l\u001b[Hsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP: 1\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nsw_interface_"]
[80.86434100000008,"o","event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27d\u001b[?25l\u001b[12AGigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[?25l\u001b[Hsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_inde"]
[80.86488900000008,"o","x=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\u001b[2Bvpp# set interface state GigabitEthernet10/0/3 up\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[80.86965100000008,"o","ipng@vpp0-0:~/vpp_papi_examples$ "]
[81.36965100000008,"o","\u001b[?25l\u001b[14;1H\u001b[32m───────────────────────────────────────────\u001b[39m─────────────────────────────────────────\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[13;1H"]
[81.54965100000008,"o","\u001b[?25l\u001b[H\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[81.65884700000008,"o","\u001b[?25l\u001b[Hsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=4, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=False)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[81.83884700000009,"o","\u001b[?25l\r\n───────────────────────────────────────────\u001b[32m─────────────────────────────────────────\u001b(B\u001b[m\u001b[?12l\u001b[?25h\u001b[27;34H"]
[82.0188470000001,"o","\u001b[?25l\u001b[15;1Hvpp# set interface state GigabitEthernet10/0/3.10 up\u001b[K\r\nvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25hipng@vpp0-0:~/vpp_papi_examples$ "]
[82.1988470000001,"o","./04-vxlan.py "]
[82.3788470000001,"o","\u001b[?25l\u001b[15;1Hvpp# delete sub-interface GigabitEthernet10/0/3.10\u001b[K\r\nvpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h"]
[82.8788470000001,"o","\u001b[?25l\u001b[12Avpp# set interface state GigabitEthernet10/0/3 down \u001b[K\r\nvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[?25l\u001b[H\u001b[K\r\n\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18"]
[82.87896300000013,"o",", flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\n\u001b[K\u001b[2Bvpp# quit\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ## Remember that 04-vxlan.py script? It also creates a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ \u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[?25l\u001b[12As a few interfaces ...\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\nipng@vpp0-0:~/vpp_papi_examples$ \u001b[K"]
[82.87926100000011,"o","\r\nipng@vpp0-0:~/vpp_papi_examples$ ./04-vxlan.py \u001b[K\r\nVPP version is 24.02-rc0~46-ga16463610\u001b[K\r\nCreated VXLAN tunnel with sw_if_index=18\u001b[K\r\n[18] instance 100 vni 8298 src 192.0.2.1:4789 dst 192.0.2.254:4789\u001b[K\r\nDeleted VXLAN tunnel with sw_if_index=18\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[?25l\u001b[Hsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\r\n\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t.IF_STATUS_API_FLAG_ADMIN_UP|IF_STATUS_API_FLAG_LINK_UP: 3\u003e, deleted=False)\u001b[K\r\nsw_interface_event(_0=721, client_index=2147483650, pid=8298, sw_if_index=18, flags=\u003cvl_api_if_status_flags_t: 0\u003e, deleted=True)\u001b[K\r\n\u001b[K\u001b[?12l\u001b[?25h\u001b[27d"]
[82.88781500000012,"o","ipng@vpp0-0:~/vpp_papi_examples$ "]
[83.38781500000012,"o","#"]
[83.51873400000012,"o","#"]
[83.64309500000012,"o"," "]
[83.7620680000001,"o","T"]
[83.90479200000011,"o","h"]
[83.96712500000011,"o","e"]
[84.08162800000012,"o"," "]
[84.2231630000001,"o","V"]
[84.36112700000011,"o","P"]
[84.54112700000012,"o","P"]
[84.62408200000012,"o"," "]
[84.80390400000012,"o","A"]
[84.98390400000012,"o","P"]
[85.08618300000013,"o","I"]
[85.26618300000014,"o"," "]
[85.43929200000015,"o","E"]
[85.61663100000014,"o","v"]
[85.64749800000014,"o","e"]
[85.75156400000016,"o","n"]
[85.83676700000014,"o","t"]
[86.01676700000014,"o","s"]
[86.15343000000014,"o"," "]
[86.25459600000015,"o","s"]
[86.34081300000015,"o","y"]
[86.41698900000016,"o","s"]
[86.58404800000015,"o","t"]
[86.63939600000013,"o","e"]
[86.68753500000015,"o","m"]
[86.78389800000015,"o"," "]
[86.88336000000014,"o","i"]
[86.94382700000016,"o","n"]
[87.00423100000013,"o"," "]
[87.16917100000013,"o","P"]
[87.34917100000014,"o","y"]
[87.45917700000014,"o","t"]
[87.53017000000015,"o","h"]
[87.65960900000015,"o","o"]
[87.75911700000016,"o","n"]
[87.93911700000017,"o","."]
[88.11042600000015,"o"," "]
[88.26833500000016,"o","C"]
[88.38845100000016,"o","o"]
[88.52020900000015,"o","o"]
[88.65188800000014,"o","l"]
[88.83188800000015,"o","!"]
[90.00000,"o"," "]