vpp命令总结_gdb调试命令总结

vpp命令总结_gdb调试命令总结createsubBondEthernet0834创建子接口,tag是834setinterfaceiptableBondEthernet0.8341将此接口设置在fib1里setinterfaceipaddressBondEthernet0.834192.168.0.250/24设置接口ipsetinterfaces

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

接口操作

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 匹配统计 原始代码没有,自己加的

NAT操作

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

nat44 add interface address GigabitEthernet2/1/0 将这张网卡设置为地址池
nat44 add address 192.168.101.37 将单个地址设置为地址池
nat44 add static mapping  配置dnat
show nat workers 查看nat 的worker个数,这个可以动态配置
show nat timeouts 查看tcp,udp,icmp 会话超时时间
show nat44 sessions 查看建立的session信息
show nat44 addresses 查看配置的snat地址池
show nat mss-clamping
show nat44 interfaces 查看配置了nat 特性的接口,out,in
show nat44 vrf tables 查看每个vrf nat参数
show nat44 hash tables 查看每个worker 的hash表情况
show nat44 static mappings 查看dnat配置
show nat44 interface address 查看配置成snat地址池的接口

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)

show

 show interface rx-placement 查看work 线程和port  queue对应关系

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209844.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++ 逻辑与或非 逻辑与逻辑或 逻辑非

    C++ 逻辑与或非 逻辑与逻辑或 逻辑非逻辑运算符 与 或 非 amp amp 作用 根据表达式的值返回真值或者假值逻辑非 include iostream usingnamespa intmain 在 C 中 除了 0 都是真 inta 10 cout lt a endl cout a endl system pause return0 逻辑与 iostream

    2025年7月3日
    0
  • 如果SQL Server 配置管理器没有找到就代表安装失败?

    如果SQL Server 配置管理器没有找到就代表安装失败?首先,只要你安装的方法正确,就不要有安装失败或安装不完全的想法(或许安装时没有勾选配置管理工具),不要立马重装或者修复或其他操作。因为我之前因为重装电脑,安装过无数次,就有一次没有找到,在网上找解决方法,一律是“证明你安装不完全”、“重装,安装有问题”之类的回答,看完立马就泻气,但不要这样,浪费时间还不一定会解决问题。解决方法:1、一般安装完SQLServer2008或其他版本,在“

    2022年7月20日
    14
  • TCP报文段格式[通俗易懂]

    三次握手就是一次TCP建立链接的过程四次挥手就是一次TCP断开的过程所以在学习三次握手四次挥手之前先了解一下TCP报文段的格式源端口(2字节):发送端应用程序的端口号,与源IP地址确定一个唯一地址目的端口(2字节):接收端计算机应用程序的端口号,与目的IP地址确定唯一的地址序号(4字节):TCP是面向字节流传输的,他为每一个字节编了一个序号,该报文段中序号为传输数据第一个字节的序号,例如:一个报文…

    2022年4月17日
    88
  • COM笔记-QueryInterface函数

    COM笔记-QueryInterface函数客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义:如下      InterfaceIUnknown      {           virtualH

    2022年6月16日
    28
  • OpenCV调用海康威视等摄像头(处理rtsp视频流)方法以及,出现内存溢出(error while decoding)或者高延迟问题解决[通俗易懂]

    OpenCV调用海康威视等摄像头(处理rtsp视频流)方法以及,出现内存溢出(error while decoding)或者高延迟问题解决[通俗易懂]摄像头与电脑的连接首先,你需要获得hikvision摄像头的密码以及用户名(不知道的可以去打客服电话进行咨询),这里不做介绍;其次,将电脑的ip设置与hikvision同频段,一般来说,海康威视的ip为192.168.1.64,电脑设置如下:最后,使用IE浏览器(其他可能不支持),输入ip:192.168.1.64并登陆输入用户名和密码即可获取视频画面(可以观察到,视频有畸变)使用python+openCV获取监控画面在使用openCV获取监控画面,具体代码如下url格式为:“rtsp:

    2022年10月18日
    0
  • STM32驱动OV7725摄像头颜色识别「建议收藏」

    STM32驱动OV7725摄像头颜色识别「建议收藏」实验目的:使用stm32驱动OV7725摄像头进行图像实时采集,在tft屏幕上实时显示并识别图像中的特定颜色,在颜色的周围画上框。实验现象:我的工程代码链接:http://download.csdn.net/my程序移植自阿莫论坛某位大神的程序。链接:http://www.amobbs.com/thread-5499408-1-1.html?_dsign=85056954实现原理:

    2022年9月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号