ovs internal port offload with multiple mirrors

mutiple mirrors官网并没有给例子,下面的链接有一个例子:

https://robertbennell943285480.wordpress.com/2018/08/02/multiple-mirror-ports-using-ovs-open-vswitch/

        ovs-vsctl -- set Bridge br-int mirrors=@m1,@m4 \
              -- --id=@p1 get Port $rep1 \
              -- --id=@p4 get Port $rep4 \
              -- --id=@m4 create Mirror name=mymirror4 select-all=true output-port=@p4 \
              -- --id=@m1 create Mirror name=mymirror select-all=true output-port=@p1 

1.1 发送方向, 首先match vf的mac,然后mirror到port 1和port 4,最后跳转到split table

flow table id: 80002 table_level: 1,         type: 4 (FS_FT_FDB: 4, FS_FT_NIC_RX: 0, FS_FT_NIC_TX, 1,         max_fte: 1048576, 100000), refcount: 5
mlx5_flow_table ffffa061beb26c00
mlx5_flow_group ffffa061c59ec2f0, id: 42, match_criteria_enable: 0x9, refcount: 1, max_ftes: 65535
fs_fte ffffa061c59f5b20 flow_source: 2 (0: any, 1: uplink: 2: local), refcount: 4
       0:  s: 02:25:d0:83:01:02 d: 24:25:d0:e1:00:00 ipv: 4  reg_c0: 40000 action:    4
                mlx5_flow_rule ffffa0610b7a2e00, refcount: 1
                        dest: vport: 1, vhca_id: 0, flags: 1 (MLX5_FLOW_DEST_VPORT_VHCA_ID: 1, MLX5_FLOW_DEST_VPORT_REFORMAT_ID: 2)
                mlx5_flow_rule ffffa0612decf600, refcount: 1
                        dest: vport: 4, vhca_id: 0, flags: 1 (MLX5_FLOW_DEST_VPORT_VHCA_ID: 1, MLX5_FLOW_DEST_VPORT_REFORMAT_ID: 2)
                mlx5_flow_rule ffffa0610b7a2200, refcount: 1
                        dest: ft: ffffa06108cd7c00

1.2 在split table做encap和packet reformat改reg c0为f0010000,然后跳转到root talbe

flow table id: 15 table_level: bd,         type: 4 (FS_FT_FDB: 4, FS_FT_NIC_RX: 0, FS_FT_NIC_TX, 1,         max_fte: 128, 80), refcount: 2
mlx5_flow_table ffffa06108cd7c00
mlx5_flow_group ffffa061c59eb960, id: 40, match_criteria_enable: 0x1, refcount: 1, max_ftes: 25
fs_fte ffffa061c59f68a0 flow_source: 2 (0: any, 1: uplink: 2: local), refcount: 3
       0:  s: 02:25:d0:83:01:02 d: 24:25:d0:e1:00:00 ipv: 4  action:   5c
modify_hdr id: 0x17
                mlx5_flow_rule ffffa0612decc400, refcount: 1
                        dest: counter_id: 80000
                mlx5_flow_rule ffffa0612decdc00, refcount: 1
                        dest: ft: ffffa06111642000

1.3 在1.2做了encap后,match pf mac和reg c0,然后跳转到termination table

mlx5_flow_group ffffa0612eb4b498, id: 44, match_criteria_enable: 0x9, refcount: 2, max_ftes: 65535
fs_fte ffffa0612eb44da0 flow_source: 0 (0: any, 1: uplink: 2: local), refcount: 3
    ffff:  s: 52:db:02:d4:35:6c d: 10:70:fd:d9:0e:38 ipv: 4  reg_c0: f0010000 action:    c
                mlx5_flow_rule ffffa061c6ebe200, refcount: 1
                        dest: counter_id: 80001
                mlx5_flow_rule ffffa061c6ebda00, refcount: 1
                        dest: ft: ffffa061079ef000

1.4 在termination table,从port ffff发送出去

flow table id: 16 table_level: 1,         type: 4 (FS_FT_FDB: 4, FS_FT_NIC_RX: 0, FS_FT_NIC_TX, 1,         max_fte: 1, 1), refcount: 2
mlx5_flow_table ffffa061079ef000
mlx5_flow_group ffffa0612eb4afd0, id: 43, match_criteria_enable: 0x0, refcount: 1, max_ftes: 1
fs_fte ffffa0612eb44a40 flow_source: 0 (0: any, 1: uplink: 2: local), refcount: 2
       0:  action:    4
                mlx5_flow_rule ffffa061c6ebf200, refcount: 1
                        dest: vport: ffff, vhca_id: 0, flags: 1 (MLX5_FLOW_DEST_VPORT_VHCA_ID: 1, MLX5_FLOW_DEST_VPORT_REFORMAT_ID: 2)

2.1 接收方向,match pf mac,然后跳转到root table

   10000:  s: 10:70:fd:d9:0e:38 d: 52:db:02:d4:35:6c ipv: 4  reg_c0: 10000 action:   4c
modify_hdr id: 0x19
                mlx5_flow_rule ffffa0612f7d8600, refcount: 1
                        dest: counter_id: 80002
                mlx5_flow_rule ffffa0612f7d8800, refcount: 1
                        dest: ft: ffffa06111642000

2.2 match tunnel ip,然后跳转到三个indir table,从port 1, 2, 4发送出去

mlx5_flow_group ffffa0612eb4d610, id: 51, match_criteria_enable: 0xf, refcount: 1, max_ftes: 65535
fs_fte ffffa0612eb45b20 flow_source: 1 (0: any, 1: uplink: 2: local), refcount: 5
   1fffe:  ip: 17 ipv: 4  dport:   4789 src_ip: 192.168.1.84 dst_ip: 192.168.1.83 vni:      4 reg_c0: f0020000
           s: 24:25:d0:e1:00:00 d: 02:25:d0:83:01:02 ipv: 4  action:   6c
modify_hdr id: 0x1a
                mlx5_flow_rule ffffa061c6ebe600, refcount: 1
                        dest: counter_id: 80003
                mlx5_flow_rule ffffa061c6ebfc00, refcount: 1
                        dest: ft: ffffa061079ea000
                mlx5_flow_rule ffffa061c6ebfe00, refcount: 1
                        dest: ft: ffffa061079e9800
                mlx5_flow_rule ffffa061c6ebfa00, refcount: 1
                        dest: ft: ffffa061c0d36400

2.3 三个indir table

mlx5_flow_table ffffa061c0d36400
mlx5_flow_group ffffa0612eb4cc80, id: 49, match_criteria_enable: 0x0, refcount: 1, max_ftes: 1
mlx5_flow_group ffffa0612eb4d148, id: 50, match_criteria_enable: 0x0, refcount: 2, max_ftes: 1
fs_fte ffffa0612eb457c0 flow_source: 0 (0: any, 1: uplink: 2: local), refcount: 2
       1:  action:    4
                mlx5_flow_rule ffffa061c6ebdc00, refcount: 1
                        dest: vport: 2, vhca_id: 0, flags: 1 (MLX5_FLOW_DEST_VPORT_VHCA_ID: 1, MLX5_FLOW_DEST_VPORT_REFORMAT_ID: 2)
mlx5_flow_table ffffa061079ea000
mlx5_flow_group ffffa0612eb4b960, id: 45, match_criteria_enable: 0x0, refcount: 1, max_ftes: 1
mlx5_flow_group ffffa0612eb4be28, id: 46, match_criteria_enable: 0x0, refcount: 2, max_ftes: 1
fs_fte ffffa0612eb45100 flow_source: 0 (0: any, 1: uplink: 2: local), refcount: 2
       1:  action:    4
                mlx5_flow_rule ffffa061c6ebce00, refcount: 1
                        dest: vport: 4, vhca_id: 0, flags: 1 (MLX5_FLOW_DEST_VPORT_VHCA_ID: 1, MLX5_FLOW_DEST_VPORT_REFORMAT_ID: 2)
mlx5_flow_table ffffa061079e9800
mlx5_flow_group ffffa0612eb4c2f0, id: 47, match_criteria_enable: 0x0, refcount: 1, max_ftes: 1
mlx5_flow_group ffffa0612eb4c7b8, id: 48, match_criteria_enable: 0x0, refcount: 2, max_ftes: 1
fs_fte ffffa0612eb45460 flow_source: 0 (0: any, 1: uplink: 2: local), refcount: 2
       1:  action:    4
                mlx5_flow_rule ffffa061c6ebc400, refcount: 1
                        dest: vport: 1, vhca_id: 0, flags: 1 (MLX5_FLOW_DEST_VPORT_VHCA_ID: 1, MLX5_FLOW_DEST_VPORT_REFORMAT_ID: 2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值