summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorMarcin Szycik <marcin.szycik@linux.intel.com>2023-06-22 15:35:12 +0200
committerTony Nguyen <anthony.l.nguyen@intel.com>2023-08-07 13:01:29 -0700
commit0960a27bd479fdff21c14ff449dac85f86d7eb4d (patch)
tree1b46171445088cd71e604d05d0835fc8977d4397 /fs/btrfs
parent505a1fdadac1f10b436e8bbf9a63e4e0f7b63077 (diff)
downloadlinux-stable-0960a27bd479fdff21c14ff449dac85f86d7eb4d.tar.gz
linux-stable-0960a27bd479fdff21c14ff449dac85f86d7eb4d.tar.bz2
linux-stable-0960a27bd479fdff21c14ff449dac85f86d7eb4d.zip
ice: Add direction metadata
Currently it is possible to create a filter which breaks TX traffic, e.g.: tc filter add dev $PF1 ingress protocol ip prio 1 flower ip_proto udp dst_port $PORT action mirred egress redirect dev $VF1_PR This adds a rule which might match both TX and RX traffic, and in TX path the PF will actually receive the traffic, which breaks communication. To fix this, add a match on direction metadata flag when adding a tc rule. Because of the way metadata is currently handled, a duplicate lookup word would appear if VLAN metadata is also added. The lookup would still work correctly, but one word would be wasted. To prevent it, lookup 0 now always contains all metadata. When any metadata needs to be added, it is added to lookup 0 and lookup count is not incremented. This way, two flags residing in the same word will take up one word, instead of two. Note: the drop action is also affected, i.e. it will now only work in one direction. Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'fs/btrfs')
0 files changed, 0 insertions, 0 deletions