• S
    ixgbe: Add support for redirect action to cls_u32 offloads · 947f8a45
    Sridhar Samudrala 提交于
    This patch enables 'redirect' to a SRIOV VF or a offloaded macvlan
    device queue via tc 'mirred' action.
    
    Verified with the following script that creates SRIOV VFs,  offloaded
    macvlan and adds tc u32 filters with redirect action to the associated
    netdevs.
    
     # add ingress qdisc.
     tc qdisc add dev p4p1 ingress
    
     # enable hw tc offload.
     ethtool -K p4p1 hw-tc-offload on
    
     # create 4 sriov VFs and bring up the first one.
     echo 4 > /sys/class/net/p4p1/device/sriov_numvfs
     sleep 1
     ip link set p4p1 up
     ip link set p4p1_0 up
    
     # create a offloaded macvlan device and bring it up.
     ethtool -K p4p1 l2-fwd-offload on
     ip link add link p4p1 name mvlan_1 type macvlan
     ip link set mvlan_1 up
    
     # add u32 filter with action to redirect to VF netdev
     tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
        handle 800:0:1 u32 ht 800: \
        match ip src 192.168.1.3/32 \
        action mirred egress redirect dev p4p1_0
    
     # add u32 filter with action to redirect to macvlan netdev
     tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
        handle 800:0:2 u32 ht 800: \
        match ip src 192.168.2.3/32 \
        action mirred egress redirect dev mvlan_1
    Signed-off-by: NSridhar Samudrala <sridhar.samudrala@intel.com>
    Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
    947f8a45
ixgbe_main.c 271.3 KB