OVS常用命令集

OVS-OFCTL操作:

match部分:

flow有很多syntax, 一半来说actions之前都是match的部分,常用的一般是

字段名称 说明
in_port=port 传递数据包的端口的 OpenFlow 端口编号
dl_vlan=vlan 数据包的 VLAN Tag 值,范围是 0-4095,0xffff 代表不包含 VLAN Tag 的数据包
dl_vlan_pcp=priority VLAN 优先级,改值取值区间为[0-7]。数字越大,表示优先级越高。
dl_src=<MAC>
dl_dst=<MAC>
匹配源或者目标的 MAC 地址
01:00:00:00:00:00/01:00:00:00:00:00 代表广播地址00:00:00:00:00:00/01:00:00:00:00:00 代表单播地址
dl_type=ethertype 匹配以太网协议类型,其中:
dl_type=0x0800 代表 IPv4 协议
dl_type=0x086dd 代表 IPv6 协议
dl_type=0x0806 代表 ARP 协议
完整的的类型列表可以参见以太网协议类型列表
nw_src=ip[/netmask] nw_dst=ip[/netmask] 当 dl_typ=0x0800 时,匹配源或者目标的 IPv4 地址,可以使 IP 地址或者域名
nw_proto=proto
和 dl_type 字段协同使用。

当 dl_type=0x0800 时,匹配 IP 协议编号
当 dl_type=0x086dd 代表 IPv6 协议编号

完整的 IP 协议编号可以参见IP 协议编号列表
table=number 指定要使用的流表的编号,范围是 0-254。在不指定的情况下,默认值为 0 通过使用流表编号,可以创建或者修改多个 Table 中的 Flow
reg<idx>=value[/mask] 交换机中的寄存器的值。当一个数据包进入交换机时,所有的寄存器都被清零,用户可以通过 Action 的指令修改寄存器中的值
tp_src=number TCP/UDP/SCTP source port
tp_dst=number TCP/UDP/SCTP dest port

nwproto or ipproto

ff:ff:ff:ff:ff:ff

  • 当dl_type=0x0800或使用了关键字ip时,匹配IP头中的proto字段,取值 区间[0, 255],比如为1时可以匹配ICMP数据包,为6时匹配TCP数据包。
  • 当dl_type=0x86dd或使用了关键字ipv6是,匹配IPv6头中的proto字段,取值区间[0, 255],比如为58时匹配ICMPv6数据包,为6时匹配TCP数据包
  • 当dl_type=0x0806或者使用了关键字arp时,匹配ARP opcode的低8位,ARP opcode大于255时,与等于0效果一样
  • 当dl_type=0x8035或者使用了关键字rarp时,匹配ARP opcode的低8位, ARP opcode大于255时,与等于0效果一样
  • 当dl_type使用了通配符或这除了0x0800, 0x0806, 0x8035以外的值,则nw_proto的值会被忽略

actions:

  • output:port: 输出数据包到指定的端口。port 是指端口的 OpenFlow 端口编号
    controller(key=value) 送到controller作为packet-in 消息,括号内的key value pair可以是:
    reason=reason ,reason 可以是action,no_match,invalid_ttl
    id=controller-id 默认是0,特殊的controller会有一个16位的id
mod_dl_src:mac
      Sets the source Ethernet address to mac.
mod_dl_dst:mac
      Sets the destination Ethernet address to mac.
mod_nw_src:ip
      Sets the IPv4 source address to ip.
mod_nw_dst:ip
      Sets the IPv4 destination address to ip.
mod_tp_src:port
     Sets the TCP or UDP source port to port.
mod_tp_dst:port
    Sets the TCP or UDP destination port to port.

ovs-vsctl使用指南:

vos-vsctl命令格式:
usage: ovs-vsctl [OPTIONS] COMMAND [ARG...]

常见的OPTIONS有以下组成:
--db=DATABASE :指定连接的数据库,默认是unix:/var/run/openvswitch/db.sock
--no-wait: 在使用时不等待ovs-vswitchd的重新配置
--retry:不断尝试连接远端服务器
--t,-timeout=SECS: 等待ovs-vswitchd的超时时间
--dry-run: 尝试运行修修改的配置但是不提交到ovsdb-vswitch数据库
--oneline:将打印出的命令一行一行的显示
-h,--help: 显示帮助信息
-V,--version:显示版本信息

常用的COMMAND有以下几类:

OpenvSwitch的维护命令:
   init:初始化ovsdb-vswitch数据库
   show:查看数据信息
   emer-reset: 重新设置openvswitch的状态

  OpenvSwitch对桥设备操作相关的命令:
   add-br BRIDGE :添加一个桥设备
   add-br BRIDGE PARENT VLAN:在PARENT中创建一个桥,并做vlan标记
   del-br BRIDGE: 删除一个桥设备
   list-br: 查看创建的桥设备
   br-exists BRIDGE: 判断新创建的桥是否已经存在
   br-to-vlan BRIDGE: 列出桥设备的所有的valn
   br-to-parent BRIDGE: 列出当前桥的上一个桥设备
   br-set-external-id BRIDGE KEY VALUE: 给桥添加额外的属性,方式为 key vllue格式
   br-set-external-id BRIDGE KEY:撤销桥设备额外的信息
   br-get-external-id BRIDGE KEY:列出桥设备额外的信息
   br-get-external-id BRIDGE :以key-value格式列出桥设备的额外信息

  OpenvSwitch对端口的操作命令:
   list-ports BRIDGE: 列出指定桥设备上的端口
   add-ports BRIDGE PORT :添加一个端口到桥设备,此端口可以事先不存在
   add-bond BRIDGE PORT IFACE...: 对桥设备做多端口绑定
   del-port [BRIDGE] PORT: 删除一个端口或者删除一个指定桥设备上的端口
   port-to-br PORT:列出端口所在的桥设备

  OpenvSwitch对接口操作的命令: 
   list-ifaces BRIDGE: 列出桥设备上的所有接口
   iface-to-br IFACE:  列出接口所在的桥设备

  OpenvSwitch的控制命令:
   get-contorller BRIDGE: 获取桥设备的控制器
   del-contorller BRIDGE: 删除桥设备的控制器
   set-contorller BRIDGE TARGET...:给桥设备设置一个控制器
   get-fail-mode BRIDGE: 显示桥设备错误的模式
   del-fail-mode BRIDGE: 删除桥设备错误的模式
   set-fail-mode BRIDGE MODE: 设置桥设备失败的模式为MODE

  OpenvSwitch管理相关的命令:
   get-manager: 列出openvswitch的管理者
   del-manager:删除openvswitch的管理者
   set-manager TARGET....:设置管理者列表为TARGET

  OpenvSwitch安全相关的命令:
   get-ssl:获取ssl的配置信息
   del-ssl: 删除ssl的配置信息
   set-ssl PRIV-KEY CERT CA-CERT: 配置ssl

  OpenvSwitch交换相关的命令:
   emer-rest: 重新设置未知交换机的状态

  OpenvSwitch数据库操作相关命令:
   listTBL [REC]: 列出TBL的资源记录信息(ovs-vsctl list port )
   findTBL CONDITION....:查找相关的资源记录信息
   getTBL REC COL[:KEY]:获取TBL的信息
   setTBL REC COL[:KEY]=VALUE:设定TBL的额外属性(ovs-vsctl set Port br1 tag=2)
   addTBL REC COL [KEY=]VALUE:添加一个[key=]value到TBL
   remove TBL REC COL [KEY=]VALUE:删除TBL中的一个key值(ovs-vsctlremove Port br1 tag 2)
   clearTBL REC COL: 清除指定TBL的资源记录信息
   create TBL COL [:KEY]=VALUE:在TBL中创建一个资源记录信息
   destroy TBL REC:销毁一个TBL的REC
   wait-until TBL REC [COL[:KEY]=VALUE]:等待TBL资源记录配置完成

 常用的ARG参数:
   连接主数据库的方法:
   tcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端主数据库的ip地址跟端口
   ssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端主数据库的ip地址跟端口
   unix:FILE:使用socket套接字连接主数据库

   备用数据库的连接方法:
   ptcp:IP:PORT: 指定连接远端数据库使用tcp协议,以及远端备用数据库的ip地址跟端口
   pssl:IP:PORT: 指定连接远端数据库使用ssl协议,以及远端备用数据库的ip地址跟端口
   punix:FILE:使用socket套接字连接备用数据库

   PKI配置:
   -p,--private-key=FILE: 指定私有秘钥的位置
   -c,--certificate=FILE:指定证书的位置
   -C,ca-cert=FILE:指定对端证书的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • Open vSwitch介绍 在过去,数据中心的服务器是直接连在硬件交换机上,后来VMware实现了服务器虚拟化技...
    杀破魂阅读 24,737评论 1 18
  • 装载自http://sdnhub.cn/index.php/openv-switch-full-guide/ 1 ...
    ximitc阅读 5,668评论 0 11
  • 1.openvswitch与openflow 协议 1.1openflow协议 SDN,即Software ...
    hanhoof阅读 1,674评论 0 2
  • OVS 核心代码 OVS 架构 OVS 主要的数据结构数据结构关系图主要的数据结构和数据结构的参数数据结构代码 d...
    NightCat阅读 26,684评论 3 24
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 3,495评论 0 7