On Sun, Nov 13, 2022 at 9:45 PM Eli Cohen <elic at nvidia.com>
wrote:>
> For each interface, either VLAN tagged or untagged, add two hardware
> counters: one for unicast and another for multicast. The counters count
> RX packets and bytes and can be read through debugfs:
>
> $ cat
/sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/packets
> $ cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/bytes
>
> This feature is controlled via the config option
> MLX5_VDPA_STEERING_DEBUG. It is off by default as it may have some
> impact on performance.
>
> Signed-off-by: Eli Cohen <elic at nvidia.com>
> ---
> drivers/vdpa/Kconfig | 12 +++
> drivers/vdpa/mlx5/net/debug.c | 86 ++++++++++++++++++++++
> drivers/vdpa/mlx5/net/mlx5_vnet.c | 118 +++++++++++++++++++++++-------
> drivers/vdpa/mlx5/net/mlx5_vnet.h | 30 ++++++++
> 4 files changed, 218 insertions(+), 28 deletions(-)
>
[...]
> + vid = key2vid(node->macvlan);
> spec->match_criteria_enable = MLX5_MATCH_OUTER_HEADERS;
> headers_c = MLX5_ADDR_OF(fte_match_param, spec->match_criteria,
outer_headers);
> headers_v = MLX5_ADDR_OF(fte_match_param, spec->match_value,
outer_headers);
> @@ -1430,48 +1475,62 @@ static int mlx5_vdpa_add_mac_vlan_rules(struct
mlx5_vdpa_net *ndev, u8 *mac,
> dmac_v = MLX5_ADDR_OF(fte_match_param, headers_v,
outer_headers.dmac_47_16);
> eth_broadcast_addr(dmac_c);
> ether_addr_copy(dmac_v, mac);
> - if (ndev->mvdev.actual_features & VIRTIO_NET_F_CTRL_VLAN) {
> + if (ndev->mvdev.actual_features &
BIT_ULL(VIRTIO_NET_F_CTRL_VLAN)) {
This seems like a fix for patch 1? If yes, let's just squash this.
Thanks