參考:
[P4-dev] swapping p4 program using load_new_config and swap_configs commands
BMv2 執行時切換P4程式
相關演示demo:demo
1.在執行simple_switch時加入--enable-swap
引數:
simple_switch [your regular options] <your initial JSON config> -- --enable-swap
2.啟動執行時CLI:
./simple_switch_CLI --thrift-port [the thrift port of your target switch]
3.通過兩種元語命令切換配置BMv2的json檔案:load_new_config_file
和 swap_configs
load_new_config_file
: 將新的json配置推送至目標交換機,此時資料平面尚未改變,換句話說,目標交換機仍然按照先前的配置(或P4程式)對來訪的資料包進行處理;然而,控制平面需要按照新的配置和P4程式下發控制規則,但這些控制規則目前不會影響資料平面的處理;swap_configs
: 在資料平面啟用新的json配置。
2018.4