ovs flow 命令集

流表可以有多个执行动作,是从左向右以此执行,常用动作如下:

    • output:port: 输出数据包到指定的端口。port 是指端口的 OpenFlow 端口编号
    • group:group_id 输出数据包到openflow group。group_id是指openflow group的id
    • enqueue:port:queue 将数据包放到openflow port端口的queue号队列中

    • mod_vlan_vid: vlan_id 修改数据包中的 VLAN tag为vlan_id,如果数据包中无tag,则添加。如果数据包中已经是vlan_id,同时调整期vlan优先级为0

    • strip_vlan: 移除数据包中的 VLAN tag
    • mod_dl_src/ mod_dl_dest: 修改源或者目标的 MAC 地址信息
    • mod_nw_src/mod_nw_dst: 修改源或者目标的 IPv4 地址信息
    • mod_tp_src/mod_tp_dst: 将数据包的TCP/UDP/SCTP源或则目的端口
    • drop 将数据包丢弃

    • resubmit:port: 替换流表的 in_port 字段,并重新进行匹配

    • load:value−>dst[start..end]: 写数据到指定的字段
    • move:src[start..end]−>dst[start..end] 含义未探究清楚、待定
    • learn(argument[,argument]…) 含义未探究清楚、待定

    • normal 按照常规L2/L3处理流程处理数据包

    • flood 将数据包输出到除该数据包输入口外和不可被flooding端口外的所有物理端口
    • all 将数据包输出到除了该数据包的输入口外的所有物理口
    • local 将数据包输出到与bridge同名的端口
    • in_port 将数据包输出到其输入口
    • controller(key=value) 将数据包以“packet in”消息形式发给openflow控制器
      max_len=nbytes 将数据包的nbytes字节数据发给控制器
      reason=reason 指明“packet in” reason; action(默认reason)、no_match、invalid_ttl
      id=controller-id 指明要发送给的控制器id

    • mod_nw_tos:tos 修改ip头的服务类型tos中的高六位(修改数值4的倍数[0,255]之间)

    • mod_nw_ecn:ecn 修改ip头的服务类型tos中底2位
    • mod_nw_ttl:ttl 修改TTL[0,255]
    • set_tunnel:id
posted @ 2019-03-09 18:31  请叫我刀刀  阅读(853)  评论(0编辑  收藏  举报