日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VPP cli

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VPP cli 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

VPP/命令行 (CLI)
具體內容詳見下發連接
VPP/命令行 (CLI) 指南
VPP cli

命令行注釋
create sub BondEthernet0 834創建子接口,tag是834
set interface ip table BondEthernet0.834 1將此接口設置在fib 1里
set interface ip address BondEthernet0.834 192.168.0.250/24設置接口ip
set interface state BondEthernet0.834 upup接口
set interface l2 bridge BondEthernet0.834 834將此接口設置到bridge 834里
set ip arp GigabitEthernet2/6/0 192.168.2.2 00:0c:29:dc:96:f8設置靜態arp
ip route add 1.2.3.0/24 via GigabitEthernet2/6/0添加路由
create vhost socket /tmp/sock2.sock server創建vhost接口
l2fib add fa:16:3e:b0:a9:71 834 BondEthernet0.834添加二層轉發流表
create host-interface name vpp5a創建veth口,name后參數名字必須和linux里創建的veth口名字對應
set dpdk interface descriptors TenGigabitEthernet6/0/0 tx/rx 1024設置此接口rx或是tx隊列大小,intel人說2000-4000差距不大
trace add dpdk-input 8跟蹤dpdk接口數據包 (dpdk-input是節點的名字,想跟蹤任何節點都可以)
trace add vhost-user-input 8跟蹤vhost接口數據包
trace add af-packet-input 8跟蹤veth接口數據包
show hardware-interfaces查看接口mac
show vlib graph查看node邏輯圖
show threads查看vpp線程
show l2fib查看二層轉發流表
show ip fib查看路由表
show ip arp查看arp
show affinity查看主線程cpu親和性
show version查看vpp版本
show int查看接口統計
show interfaces address查看接口ip
show bridge-domain查看bridge 接口情況

VPP 源代碼小知識

  • 設備類VNET_DEVICE_CLASS
    注冊宏中函數有用__attribute__((constructor))進行修飾,其作用是什么?
    解:constructor參數讓系統執行main()函數之前調用函數(被__attribute__((constructor))修飾的函數).同理,
    destructor讓系統在main()函數退出或者調用了exit()之后,調用我們的函數.帶有這些修飾屬性的函數,對于我們初始化一些在程序中使用的數據非常有用.
  • 2.返回的error值 解:

    #define foreach_vnet_api_error \ _(UNSPECIFIED, -1, "Unspecified Error") \ _(INVALID_SW_IF_INDEX, -2, "Invalid sw_if_index") \ _(NO_SUCH_FIB, -3, "No such FIB / VRF") \ _(NO_SUCH_INNER_FIB, -4, "No such inner FIB / VRF") \ _(NO_SUCH_LABEL, -5, "No such label") \ _(NO_SUCH_ENTRY, -6, "No such entry") \ _(INVALID_VALUE, -7, "Invalid value") \ _(INVALID_VALUE_2, -8, "Invalid value #2") \ _(UNIMPLEMENTED, -9, "Unimplemented") \ _(INVALID_SW_IF_INDEX_2, -10, "Invalid sw_if_index #2") \ _(MISSING_CERT_KEY, -161, "Missing certifcate or key")typedef enum { #define _(a,b,c) VNET_API_ERROR_##a = (b),foreach_vnet_api_error #undef _ /*注意這里的下劃線,這里的下發線與上面對應,c語言宏的命名方式不能以特殊符號開始*/VNET_API_N_ERROR, } vnet_api_error_t;

    總結

    以上是生活随笔為你收集整理的VPP cli的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。