All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Daniel Jurgens <danielj@nvidia.com>
Cc: netdev@vger.kernel.org, jasowang@redhat.com, pabeni@redhat.com,
	virtualization@lists.linux.dev, parav@nvidia.com,
	shshitrit@nvidia.com, yohadt@nvidia.com,
	xuanzhuo@linux.alibaba.com, eperezma@redhat.com, jgg@ziepe.ca,
	kevin.tian@intel.com, kuba@kernel.org, andrew+netdev@lunn.ch,
	edumazet@google.com
Subject: Re: [PATCH net-next v20 10/12] virtio_net: Add support for IPv6 ethtool steering
Date: Sun, 8 Feb 2026 05:08:56 -0500	[thread overview]
Message-ID: <20260207203120-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20260205224707.16995-11-danielj@nvidia.com>

> @@ -6111,20 +6176,38 @@ static int setup_ip_key_mask(struct virtio_net_ff_selector *selector,
>  			     u8 *key,
>  			     const struct ethtool_rx_flow_spec *fs)
>  {
> +	struct ipv6hdr *v6_m = (struct ipv6hdr *)&selector->mask;
>  	struct iphdr *v4_m = (struct iphdr *)&selector->mask;
> +	struct ipv6hdr *v6_k = (struct ipv6hdr *)key;
>  	struct iphdr *v4_k = (struct iphdr *)key;
>  
> -	selector->type = VIRTIO_NET_FF_MASK_TYPE_IPV4;
> -	selector->length = sizeof(struct iphdr);
> +	if (has_ipv6(fs->flow_type)) {
> +		selector->type = VIRTIO_NET_FF_MASK_TYPE_IPV6;
> +		selector->length = sizeof(struct ipv6hdr);
> +
> +		/* exclude tclass, it's not exposed properly struct ip6hdr */

do you mean:

+		/* exclude tclass, it's not exposed properly in struct ipv6hdr */

?

and maybe properly -> directly?

> +		if (fs->h_u.usr_ip6_spec.l4_4_bytes ||
> +		    fs->m_u.usr_ip6_spec.l4_4_bytes ||
> +		    fs->h_u.usr_ip6_spec.tclass ||
> +		    fs->m_u.usr_ip6_spec.tclass ||
> +		    fs->h_u.usr_ip6_spec.l4_proto ||
> +		    fs->m_u.usr_ip6_spec.l4_proto)
> +			return -EINVAL;
>  
> -	if (fs->h_u.usr_ip4_spec.l4_4_bytes ||
> -	    fs->h_u.usr_ip4_spec.ip_ver != ETH_RX_NFC_IP4 ||
> -	    fs->m_u.usr_ip4_spec.l4_4_bytes ||
> -	    fs->m_u.usr_ip4_spec.ip_ver ||
> -	    fs->m_u.usr_ip4_spec.proto)
> -		return -EINVAL;
> +		parse_ip6(v6_m, v6_k, fs);
> +	} else {
> +		selector->type = VIRTIO_NET_FF_MASK_TYPE_IPV4;
> +		selector->length = sizeof(struct iphdr);
> +
> +		if (fs->h_u.usr_ip4_spec.l4_4_bytes ||
> +		    fs->h_u.usr_ip4_spec.ip_ver != ETH_RX_NFC_IP4 ||
> +		    fs->m_u.usr_ip4_spec.l4_4_bytes ||
> +		    fs->m_u.usr_ip4_spec.ip_ver ||
> +		    fs->m_u.usr_ip4_spec.proto)
> +			return -EINVAL;
>  
> -	parse_ip4(v4_m, v4_k, fs);
> +		parse_ip4(v4_m, v4_k, fs);
> +	}
>  
>  	return 0;
>  }
> @@ -6194,7 +6277,7 @@ static int build_and_insert(struct virtnet_ff *ff,
>  
>  	setup_eth_hdr_key_mask(selector, key, fs, num_hdrs);
>  
> -	if (has_ipv4(fs->flow_type)) {
> +	if (has_ipv4(fs->flow_type) || has_ipv6(fs->flow_type)) {
>  		selector = next_selector(selector);
>  
>  		err = setup_ip_key_mask(selector, key + sizeof(struct ethhdr), fs);
> -- 
> 2.50.1


  reply	other threads:[~2026-02-08 10:09 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-05 22:46 [PATCH net-next v20 00/12] virtio_net: Add ethtool flow rules support Daniel Jurgens
2026-02-05 22:46 ` [PATCH net-next v20 01/12] virtio_pci: Remove supported_cap size build assert Daniel Jurgens
2026-02-05 22:46 ` [PATCH net-next v20 02/12] virtio: Add config_op for admin commands Daniel Jurgens
2026-02-05 22:46 ` [PATCH net-next v20 03/12] virtio: Expose generic device capability operations Daniel Jurgens
2026-02-05 22:46 ` [PATCH net-next v20 04/12] virtio: Expose object create and destroy API Daniel Jurgens
2026-02-05 22:47 ` [PATCH net-next v20 05/12] virtio_net: Query and set flow filter caps Daniel Jurgens
2026-02-06  6:43   ` kernel test robot
2026-02-06 22:14   ` kernel test robot
2026-02-08 11:51   ` Michael S. Tsirkin
2026-02-08 17:29   ` Michael S. Tsirkin
2026-02-05 22:47 ` [PATCH net-next v20 06/12] virtio_net: Create a FF group for ethtool steering Daniel Jurgens
2026-02-05 22:47 ` [PATCH net-next v20 07/12] virtio_net: Implement layer 2 ethtool flow rules Daniel Jurgens
2026-02-08 11:35   ` Michael S. Tsirkin
2026-02-08 11:54   ` Michael S. Tsirkin
2026-02-05 22:47 ` [PATCH net-next v20 08/12] virtio_net: Use existing classifier if possible Daniel Jurgens
2026-02-05 22:47 ` [PATCH net-next v20 09/12] virtio_net: Implement IPv4 ethtool flow rules Daniel Jurgens
2026-02-05 22:47 ` [PATCH net-next v20 10/12] virtio_net: Add support for IPv6 ethtool steering Daniel Jurgens
2026-02-08 10:08   ` Michael S. Tsirkin [this message]
2026-02-05 22:47 ` [PATCH net-next v20 11/12] virtio_net: Add support for TCP and UDP ethtool rules Daniel Jurgens
2026-02-05 22:47 ` [PATCH net-next v20 12/12] virtio_net: Add get ethtool flow rules ops Daniel Jurgens
2026-02-06  2:43 ` [PATCH net-next v20 00/12] virtio_net: Add ethtool flow rules support Jakub Kicinski
2026-02-07 10:01   ` Michael S. Tsirkin
2026-02-07 13:14     ` Dan Jurgens
2026-02-07 21:14       ` Michael S. Tsirkin
2026-02-08 11:55 ` Michael S. Tsirkin
2026-02-08 13:57   ` Dan Jurgens
2026-02-08 17:22     ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260207203120-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=danielj@nvidia.com \
    --cc=edumazet@google.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jgg@ziepe.ca \
    --cc=kevin.tian@intel.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=parav@nvidia.com \
    --cc=shshitrit@nvidia.com \
    --cc=virtualization@lists.linux.dev \
    --cc=xuanzhuo@linux.alibaba.com \
    --cc=yohadt@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.