• Xin Long's avatar
    net: sched: add erspan option support to act_tunnel_key · e20d4ff2
    Xin Long authored
    This patch is to allow setting erspan options using the
    act_tunnel_key action. Different from geneve options,
    only one option can be set. And also, geneve options,
    vxlan options or erspan options can't be set at the
    same time.
    
    Options are expressed as ver:index:dir:hwid, 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.
    
      # ip link add name erspan1 type erspan external
      # tc qdisc add dev eth0 ingress
      # tc filter add dev eth0 protocol ip parent ffff: \
               flower indev eth0 \
                  ip_proto udp \
                  action tunnel_key \
                      set src_ip 10.0.99.192 \
                      dst_ip 10.0.99.193 \
                      dst_port 6081 \
                      id 11 \
      		erspan_opts 1:2:0:0 \
              action mirred egress redirect dev erspan1
    
    v1->v2:
      - do the validation when dst is not yet allocated as Jakub suggested.
      - use Duplicate instead of Wrong in err msg for extack.
    Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e20d4ff2
act_tunnel_key.c 21.9 KB