博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vpp命令总结
阅读量:4055 次
发布时间:2019-05-25

本文共 4533 字,大约阅读时间需要 15 分钟。

接口操作

 

vat对应命令

备注
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(ipv4和ipv6)    
set interface ip address del BondEthernet0.834 192.168.0.250/24 删除接口地址    
set interface ip address del eth0 all 删除接口所有地址    
set interface state  BondEthernet0.834 up  up接口    
set interface l2 bridge BondEthernet0.834 834 将此接口设置到bridge 834里    
create vhost socket /tmp/sock2.sock server 创建vhost接口    
create host-interface name vpp5a

创建veth口,name后参数名字必须和linux里创建的veth口名字对应(先系统命令创建veth口)

   
set interface handoff <interface-name> workers <workers-list> [symmetrical|asymmetrical]        
show hardware-interfaces 查看接口mac    
show int  查看接口信息    
show interfaces address 查看接口地址    
pipe create [instance <instance>] 添加pipe接口,这是vpp自带类似于veth的接口,连接互通vrf,instance为数字,最大支持16384,eg:pipe create instance 100,生成pipe100,pipe100.0,pipe100.1,这三个都需要up,将pipe100.0分配到一个vrf,pipe100.1分配到另一个vrf,    
pipe delete <interface> 删除pipe接口    

ip6 nd <interface> ...

配置接口ipv6 邻居发现 参数,路由通告似乎也用这配置    

show ip6 interface

查看ipv6 接口    

ip6 nd host-vethb_1 ra-suppress 

ip6 nd host-vethb_1 ra-suppress  no

关闭接口ra发送 

打开接口ra发送

   

bond接口

    现在版本的vppbond口只能通过命令(或者api)创建,不支持配置文件
create bond mode lacp load-balance l34 创建bond接口    
delete bond BondEthernet0 删除bond接口    
bond add BondEthernet0 TenGigabitEthernet3d/0/0 bond口添加slave接口    
bond del TenGigabitEthernet3d/0/0 bond口删除slave接口    
show bond details 查看bond 详细信息    
set interface bond BondEthernet weight  100 设置bond口权重    

二层操作

     
set ip neighbor GigabitEthernet2/6/0 192.168.2.2 00:0c:29:dc:96:f8  设置静态arp    
l2fib add  fa:16:3e:b0:a9:71 834  BondEthernet0.834  添加二层转发流表    
show l2fib 查看二层转发流表    
show ip neighbors 查看arp    
show bridge-domain 查看bridge 接口情况    

路由表(vrf)操作

     
ip table [add|del] <table-id> 添加ipv4 vrf(路由表)    
 ip6 table [add|del] <table-id> 添加ipv6 vrf(路由表)    
ip route add 1.2.3.0/24 via GigabitEthernet2/6/0 添加路由    
       
show ip fib 查看路由表    

DPDK参数设置

 

   
set dpdk interface descriptors  TenGigabitEthernet6/0/0 tx/rx 1024 设置此接口rx或是tx队列大小,intel人
说2000-4000差距不大
   
show affinity    
查看主线程cpu亲和性    

数据包跟踪设置

 

   
trace add dpdk-input 8 跟踪dpdk接口数据包 (dpdk-input是节点的名字,想跟踪任何节点都可以)    
trace add vhost-user-input 8 跟踪vhost接口数据包    
trace add af-packet-input 8 跟踪veth接口数据包     

vpp操作

     
show vlib graph  查看node逻辑图    
show int GigabitEthernet3c/0/0 features 查看此接口使能了哪些feature    
show threads     查看vpp线程    
show version    查看vpp版本    

ACL操作

     
  获取acl插件版本 acl_plugin_get_version  
  增加或替换ACL规则 acl_add_replace  
  删除某ACL acl_del  
show acl-plugin acl [index N] 罗列所有ACL列表 acl_dump  
  从网口的访问控制列表中增减某项 acl_interface_add_del  
  给指定端口设置输入输出控制方式 acl_interface_set_acl_list  
show acl-plugin  interface 显示哪个端口采用哪个访问控制规则 acl_interface_list_dump  
  增加一条MAC/IP的访问控制列 macip_acl_add  
  删除一条MAC/IP的访问控制列 macip_acl_del  
show acl-plugin macip acl 查看配置的macip acl规则

macip_acl_dump

 
show acl-plugin macip interface 查看所有接口绑定的macip acl信息 macip_acl_interface_get  
  从给定端口绑定/解绑MACIP某条访问控制列表 macip_acl_interface_add_del  
show acl-plugin tables [ acl [index N] | applied [ lc_index N ] | mask | hash [verbose N] ] 查看acl table 信息    
show acl-plugin counters 查看acl 匹配统计   原始代码没有,自己加的
set acl-plugin interace counters [enable|disable] 使能acl 匹配统计   原始代码没有,自己加的

SNAT操作

     
nat44 add address <ip4-range-start> [- <ip4-range-end>] [tenant-vrf <vrf-id>] [twice-nat] [del]

配置某个vrf的snat ip地址池

eg:nat44 add address 211.1.1.216 tenant-vrf 20001

   
 set interface nat44 in <intfc> out <intfc> [output-feature] [del]

设置snat的in接口和out接口,配置为in的接口的接口会查询in2out key,配置为out的接口会查询out2in key,同时配置为in和out的接口根据classefy决定

 

set interface nat44 in TenGigabitEthernet3b/0/0.1001

set interface nat44 out TenGigabitEthernet3b/0/0.1001

   

QOS

     
configure policer name policy1 cir 800 cb 90000 rate kbps round closest type 1r2c conform-action transmit exceed-action drop 配置限速规则(ipv4和这操作类似)    
classify table  mask l3 ip6 dst 创建classify table,确定匹配数据包的哪些字段    
classify session policer-hit-next policy1 exceed-color table-index 0 match l3 ip6 dst 2008:db8:0:2::1 船舰classify session, 匹配具体字段的值,比如ip, vlan    
set policer classify interface host-vetha_1 ip6-table 0 在接口上使能( 上面的table-index 0, ip6-table 0都是执行classify table  mask l3 ip6 dst返回的id)    

log

     
set logging class <class> [rate-limit <int>] [level <level>] [syslog-level <level>]

class 有vfio fib mfib igmp dhcp nat tap等

level 和syslog-level 后面的参数参考备注 eg: err, debug,

默认设置

vlib_log_main_t log_main = {

  .default_log_level = VLIB_LOG_LEVEL_NOTICE,

  .default_syslog_log_level = VLIB_LOG_LEVEL_WARNING,

  .unthrottle_time = 3,

  .size = 512,

  .default_rate_limit = 50,

};

 

 

#define foreach_vlib_log_level \

  _(0, EMERG, emerg) \

  _(1, ALERT, alert) \

  _(2, CRIT, crit) \

  _(3, ERR, err) \

  _(4, WARNING, warn) \

  _(5, NOTICE, notice) \

  _(6, INFO, info) \

  _(7, DEBUG, debug) \

  _(8, DISABLED, disabled)

 

 

 

 

 

转载地址:http://hfqci.baihongyu.com/

你可能感兴趣的文章