• Xin Long's avatar
    net: sched: allow flower to match erspan options · 79b1011c
    Xin Long authored
    This patch is to allow matching options in erspan.
    
    The options can be described in the form:
    VER:INDEX:DIR:HWID/VER:INDEX_MASK:DIR_MASK:HWID_MASK.
    When ver is set to 1, index will be applied while dir
    and hwid will be ignored, and when ver is set to 2,
    dir and hwid will be used while index will be ignored.
    
    Different from geneve, only one option can be set. And
    also, geneve options, vxlan options or erspan options
    can't be set at the same time.
    
      # ip link add name erspan1 type erspan external
      # tc qdisc add dev erspan1 ingress
      # tc filter add dev erspan1 protocol ip parent ffff: \
          flower \
            enc_src_ip 10.0.99.192 \
            enc_dst_ip 10.0.99.193 \
            enc_key_id 11 \
            erspan_opts 1:12:0:0/1:ffff:0:0 \
            ip_proto udp \
            action mirred egress redirect dev eth0
    
    v1->v2:
      - improve some err msgs of extack.
    Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    79b1011c
cls_flower.c 80.1 KB