qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] NetRxPkt: Introduce support for additional hash types
@ 2020-01-27 11:54 Yuri Benditovich
  2020-01-27 11:54 ` [PATCH 2/2] NetRxPkt: fix hash calculation of IPV6 TCP Yuri Benditovich
  2020-01-29 16:09 ` [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Dmitry Fleytman
  0 siblings, 2 replies; 6+ messages in thread
From: Yuri Benditovich @ 2020-01-27 11:54 UTC (permalink / raw)
  To: dmitry.fleytman, jasowang, qemu-devel; +Cc: yan

Add support for following hash types:
IPV6 TCP with extension headers
IPV4 UDP
IPV6 UDP
IPV6 UDP with extension headers

Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
---
 hw/net/net_rx_pkt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/net_rx_pkt.h |  6 +++++-
 hw/net/trace-events |  4 ++++
 3 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
index 98a5030ace..b2a06bd27d 100644
--- a/hw/net/net_rx_pkt.c
+++ b/hw/net/net_rx_pkt.c
@@ -307,6 +307,20 @@ _net_rx_rss_prepare_tcp(uint8_t *rss_input,
                           &tcphdr->th_dport, sizeof(uint16_t));
 }
 
+static inline void
+_net_rx_rss_prepare_udp(uint8_t *rss_input,
+                        struct NetRxPkt *pkt,
+                        size_t *bytes_written)
+{
+    struct udp_header *udphdr = &pkt->l4hdr_info.hdr.udp;
+
+    _net_rx_rss_add_chunk(rss_input, bytes_written,
+                          &udphdr->uh_sport, sizeof(uint16_t));
+
+    _net_rx_rss_add_chunk(rss_input, bytes_written,
+                          &udphdr->uh_dport, sizeof(uint16_t));
+}
+
 uint32_t
 net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
                          NetRxPktRssType type,
@@ -347,6 +361,34 @@ net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
         trace_net_rx_pkt_rss_ip6_ex();
         _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
         break;
+    case NetPktRssIpV6TcpEx:
+        assert(pkt->isip6);
+        assert(pkt->istcp);
+        trace_net_rx_pkt_rss_ip6_ex_tcp();
+        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
+        _net_rx_rss_prepare_tcp(&rss_input[0], pkt, &rss_length);
+        break;
+    case NetPktRssIpV4Udp:
+        assert(pkt->isip4);
+        assert(pkt->isudp);
+        trace_net_rx_pkt_rss_ip4_udp();
+        _net_rx_rss_prepare_ip4(&rss_input[0], pkt, &rss_length);
+        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
+        break;
+    case NetPktRssIpV6Udp:
+        assert(pkt->isip6);
+        assert(pkt->isudp);
+        trace_net_rx_pkt_rss_ip6_udp();
+        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, false, &rss_length);
+        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
+        break;
+    case NetPktRssIpV6UdpEx:
+        assert(pkt->isip6);
+        assert(pkt->isudp);
+        trace_net_rx_pkt_rss_ip6_ex_udp();
+        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
+        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
+        break;
     default:
         assert(false);
         break;
diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h
index 7adf0fad51..048e3461f0 100644
--- a/hw/net/net_rx_pkt.h
+++ b/hw/net/net_rx_pkt.h
@@ -133,7 +133,11 @@ typedef enum {
     NetPktRssIpV4Tcp,
     NetPktRssIpV6Tcp,
     NetPktRssIpV6,
-    NetPktRssIpV6Ex
+    NetPktRssIpV6Ex,
+    NetPktRssIpV6TcpEx,
+    NetPktRssIpV4Udp,
+    NetPktRssIpV6Udp,
+    NetPktRssIpV6UdpEx,
 } NetRxPktRssType;
 
 /**
diff --git a/hw/net/trace-events b/hw/net/trace-events
index 6f990ede87..73d4558f7e 100644
--- a/hw/net/trace-events
+++ b/hw/net/trace-events
@@ -92,9 +92,13 @@ net_rx_pkt_l3_csum_validate_csum(size_t l3hdr_off, uint32_t csl, uint32_t cntr,
 
 net_rx_pkt_rss_ip4(void) "Calculating IPv4 RSS  hash"
 net_rx_pkt_rss_ip4_tcp(void) "Calculating IPv4/TCP RSS  hash"
+net_rx_pkt_rss_ip4_udp(void) "Calculating IPv4/UDP RSS  hash"
 net_rx_pkt_rss_ip6_tcp(void) "Calculating IPv6/TCP RSS  hash"
+net_rx_pkt_rss_ip6_udp(void) "Calculating IPv6/UDP RSS  hash"
 net_rx_pkt_rss_ip6(void) "Calculating IPv6 RSS  hash"
 net_rx_pkt_rss_ip6_ex(void) "Calculating IPv6/EX RSS  hash"
+net_rx_pkt_rss_ip6_ex_tcp(void) "Calculating IPv6/EX/TCP RSS  hash"
+net_rx_pkt_rss_ip6_ex_udp(void) "Calculating IPv6/EX/UDP RSS  hash"
 net_rx_pkt_rss_hash(size_t rss_length, uint32_t rss_hash) "RSS hash for %zu bytes: 0x%X"
 net_rx_pkt_rss_add_chunk(void* ptr, size_t size, size_t input_offset) "Add RSS chunk %p, %zu bytes, RSS input offset %zu bytes"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] NetRxPkt: fix hash calculation of IPV6 TCP
  2020-01-27 11:54 [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Yuri Benditovich
@ 2020-01-27 11:54 ` Yuri Benditovich
  2020-01-29 16:09   ` Dmitry Fleytman
  2020-01-29 16:09 ` [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Dmitry Fleytman
  1 sibling, 1 reply; 6+ messages in thread
From: Yuri Benditovich @ 2020-01-27 11:54 UTC (permalink / raw)
  To: dmitry.fleytman, jasowang, qemu-devel; +Cc: yan

When requested to calculate the hash for TCPV6 packet,
ignore overrides of source and destination addresses
in in extension headers.
Use these overrides when new hash type NetPktRssIpV6TcpEx
requested.
Use this type in e1000e hash calculation for IPv6 TCP, which
should take in account overrides of the addresses.

Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
---
 hw/net/e1000e_core.c | 2 +-
 hw/net/net_rx_pkt.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index 9b76f82db5..5b05c8ea8a 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -582,7 +582,7 @@ e1000e_rss_calc_hash(E1000ECore *core,
         type = NetPktRssIpV4Tcp;
         break;
     case E1000_MRQ_RSS_TYPE_IPV6TCP:
-        type = NetPktRssIpV6Tcp;
+        type = NetPktRssIpV6TcpEx;
         break;
     case E1000_MRQ_RSS_TYPE_IPV6:
         type = NetPktRssIpV6;
diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
index b2a06bd27d..1e1c504e42 100644
--- a/hw/net/net_rx_pkt.c
+++ b/hw/net/net_rx_pkt.c
@@ -348,7 +348,7 @@ net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
         assert(pkt->isip6);
         assert(pkt->istcp);
         trace_net_rx_pkt_rss_ip6_tcp();
-        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
+        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, false, &rss_length);
         _net_rx_rss_prepare_tcp(&rss_input[0], pkt, &rss_length);
         break;
     case NetPktRssIpV6:
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] NetRxPkt: Introduce support for additional hash types
  2020-01-27 11:54 [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Yuri Benditovich
  2020-01-27 11:54 ` [PATCH 2/2] NetRxPkt: fix hash calculation of IPV6 TCP Yuri Benditovich
@ 2020-01-29 16:09 ` Dmitry Fleytman
  2020-02-12  8:50   ` Yuri Benditovich
  1 sibling, 1 reply; 6+ messages in thread
From: Dmitry Fleytman @ 2020-01-29 16:09 UTC (permalink / raw)
  To: Yuri Benditovich; +Cc: Yan Vugenfirer, Jason Wang, qemu-devel



> On 27 Jan 2020, at 13:54, Yuri Benditovich <yuri.benditovich@daynix.com> wrote:
> 
> Add support for following hash types:
> IPV6 TCP with extension headers
> IPV4 UDP
> IPV6 UDP
> IPV6 UDP with extension headers
> 
> Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>


Acked-by: Dmitry Fleytman <dmitry.fleytman@gmail.com>


> ---
> hw/net/net_rx_pkt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> hw/net/net_rx_pkt.h |  6 +++++-
> hw/net/trace-events |  4 ++++
> 3 files changed, 51 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
> index 98a5030ace..b2a06bd27d 100644
> --- a/hw/net/net_rx_pkt.c
> +++ b/hw/net/net_rx_pkt.c
> @@ -307,6 +307,20 @@ _net_rx_rss_prepare_tcp(uint8_t *rss_input,
>                           &tcphdr->th_dport, sizeof(uint16_t));
> }
> 
> +static inline void
> +_net_rx_rss_prepare_udp(uint8_t *rss_input,
> +                        struct NetRxPkt *pkt,
> +                        size_t *bytes_written)
> +{
> +    struct udp_header *udphdr = &pkt->l4hdr_info.hdr.udp;
> +
> +    _net_rx_rss_add_chunk(rss_input, bytes_written,
> +                          &udphdr->uh_sport, sizeof(uint16_t));
> +
> +    _net_rx_rss_add_chunk(rss_input, bytes_written,
> +                          &udphdr->uh_dport, sizeof(uint16_t));
> +}
> +
> uint32_t
> net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
>                          NetRxPktRssType type,
> @@ -347,6 +361,34 @@ net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
>         trace_net_rx_pkt_rss_ip6_ex();
>         _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
>         break;
> +    case NetPktRssIpV6TcpEx:
> +        assert(pkt->isip6);
> +        assert(pkt->istcp);
> +        trace_net_rx_pkt_rss_ip6_ex_tcp();
> +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
> +        _net_rx_rss_prepare_tcp(&rss_input[0], pkt, &rss_length);
> +        break;
> +    case NetPktRssIpV4Udp:
> +        assert(pkt->isip4);
> +        assert(pkt->isudp);
> +        trace_net_rx_pkt_rss_ip4_udp();
> +        _net_rx_rss_prepare_ip4(&rss_input[0], pkt, &rss_length);
> +        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
> +        break;
> +    case NetPktRssIpV6Udp:
> +        assert(pkt->isip6);
> +        assert(pkt->isudp);
> +        trace_net_rx_pkt_rss_ip6_udp();
> +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, false, &rss_length);
> +        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
> +        break;
> +    case NetPktRssIpV6UdpEx:
> +        assert(pkt->isip6);
> +        assert(pkt->isudp);
> +        trace_net_rx_pkt_rss_ip6_ex_udp();
> +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
> +        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
> +        break;
>     default:
>         assert(false);
>         break;
> diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h
> index 7adf0fad51..048e3461f0 100644
> --- a/hw/net/net_rx_pkt.h
> +++ b/hw/net/net_rx_pkt.h
> @@ -133,7 +133,11 @@ typedef enum {
>     NetPktRssIpV4Tcp,
>     NetPktRssIpV6Tcp,
>     NetPktRssIpV6,
> -    NetPktRssIpV6Ex
> +    NetPktRssIpV6Ex,
> +    NetPktRssIpV6TcpEx,
> +    NetPktRssIpV4Udp,
> +    NetPktRssIpV6Udp,
> +    NetPktRssIpV6UdpEx,
> } NetRxPktRssType;
> 
> /**
> diff --git a/hw/net/trace-events b/hw/net/trace-events
> index 6f990ede87..73d4558f7e 100644
> --- a/hw/net/trace-events
> +++ b/hw/net/trace-events
> @@ -92,9 +92,13 @@ net_rx_pkt_l3_csum_validate_csum(size_t l3hdr_off, uint32_t csl, uint32_t cntr,
> 
> net_rx_pkt_rss_ip4(void) "Calculating IPv4 RSS  hash"
> net_rx_pkt_rss_ip4_tcp(void) "Calculating IPv4/TCP RSS  hash"
> +net_rx_pkt_rss_ip4_udp(void) "Calculating IPv4/UDP RSS  hash"
> net_rx_pkt_rss_ip6_tcp(void) "Calculating IPv6/TCP RSS  hash"
> +net_rx_pkt_rss_ip6_udp(void) "Calculating IPv6/UDP RSS  hash"
> net_rx_pkt_rss_ip6(void) "Calculating IPv6 RSS  hash"
> net_rx_pkt_rss_ip6_ex(void) "Calculating IPv6/EX RSS  hash"
> +net_rx_pkt_rss_ip6_ex_tcp(void) "Calculating IPv6/EX/TCP RSS  hash"
> +net_rx_pkt_rss_ip6_ex_udp(void) "Calculating IPv6/EX/UDP RSS  hash"
> net_rx_pkt_rss_hash(size_t rss_length, uint32_t rss_hash) "RSS hash for %zu bytes: 0x%X"
> net_rx_pkt_rss_add_chunk(void* ptr, size_t size, size_t input_offset) "Add RSS chunk %p, %zu bytes, RSS input offset %zu bytes"
> 
> -- 
> 2.17.1
> 



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] NetRxPkt: fix hash calculation of IPV6 TCP
  2020-01-27 11:54 ` [PATCH 2/2] NetRxPkt: fix hash calculation of IPV6 TCP Yuri Benditovich
@ 2020-01-29 16:09   ` Dmitry Fleytman
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Fleytman @ 2020-01-29 16:09 UTC (permalink / raw)
  To: Yuri Benditovich; +Cc: Yan Vugenfirer, Jason Wang, qemu-devel



> On 27 Jan 2020, at 13:54, Yuri Benditovich <yuri.benditovich@daynix.com> wrote:
> 
> When requested to calculate the hash for TCPV6 packet,
> ignore overrides of source and destination addresses
> in in extension headers.
> Use these overrides when new hash type NetPktRssIpV6TcpEx
> requested.
> Use this type in e1000e hash calculation for IPv6 TCP, which
> should take in account overrides of the addresses.
> 
> Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>

Acked-by: Dmitry Fleytman <dmitry.fleytman@gmail.com>

> ---
> hw/net/e1000e_core.c | 2 +-
> hw/net/net_rx_pkt.c  | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
> index 9b76f82db5..5b05c8ea8a 100644
> --- a/hw/net/e1000e_core.c
> +++ b/hw/net/e1000e_core.c
> @@ -582,7 +582,7 @@ e1000e_rss_calc_hash(E1000ECore *core,
>         type = NetPktRssIpV4Tcp;
>         break;
>     case E1000_MRQ_RSS_TYPE_IPV6TCP:
> -        type = NetPktRssIpV6Tcp;
> +        type = NetPktRssIpV6TcpEx;
>         break;
>     case E1000_MRQ_RSS_TYPE_IPV6:
>         type = NetPktRssIpV6;
> diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
> index b2a06bd27d..1e1c504e42 100644
> --- a/hw/net/net_rx_pkt.c
> +++ b/hw/net/net_rx_pkt.c
> @@ -348,7 +348,7 @@ net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
>         assert(pkt->isip6);
>         assert(pkt->istcp);
>         trace_net_rx_pkt_rss_ip6_tcp();
> -        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
> +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, false, &rss_length);
>         _net_rx_rss_prepare_tcp(&rss_input[0], pkt, &rss_length);
>         break;
>     case NetPktRssIpV6:
> -- 
> 2.17.1
> 



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] NetRxPkt: Introduce support for additional hash types
  2020-01-29 16:09 ` [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Dmitry Fleytman
@ 2020-02-12  8:50   ` Yuri Benditovich
  2020-02-12  9:01     ` Jason Wang
  0 siblings, 1 reply; 6+ messages in thread
From: Yuri Benditovich @ 2020-02-12  8:50 UTC (permalink / raw)
  To: Jason Wang; +Cc: Yan Vugenfirer, Dmitry Fleytman, qemu-devel

Hi Jason,

Can you please review these 2 patches and apply if there are no objections.

Thanks,
Yuri Benditovich

On Wed, Jan 29, 2020 at 6:09 PM Dmitry Fleytman
<dmitry.fleytman@gmail.com> wrote:
>
>
>
> > On 27 Jan 2020, at 13:54, Yuri Benditovich <yuri.benditovich@daynix.com> wrote:
> >
> > Add support for following hash types:
> > IPV6 TCP with extension headers
> > IPV4 UDP
> > IPV6 UDP
> > IPV6 UDP with extension headers
> >
> > Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
>
>
> Acked-by: Dmitry Fleytman <dmitry.fleytman@gmail.com>
>
>
> > ---
> > hw/net/net_rx_pkt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> > hw/net/net_rx_pkt.h |  6 +++++-
> > hw/net/trace-events |  4 ++++
> > 3 files changed, 51 insertions(+), 1 deletion(-)
> >
> > diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
> > index 98a5030ace..b2a06bd27d 100644
> > --- a/hw/net/net_rx_pkt.c
> > +++ b/hw/net/net_rx_pkt.c
> > @@ -307,6 +307,20 @@ _net_rx_rss_prepare_tcp(uint8_t *rss_input,
> >                           &tcphdr->th_dport, sizeof(uint16_t));
> > }
> >
> > +static inline void
> > +_net_rx_rss_prepare_udp(uint8_t *rss_input,
> > +                        struct NetRxPkt *pkt,
> > +                        size_t *bytes_written)
> > +{
> > +    struct udp_header *udphdr = &pkt->l4hdr_info.hdr.udp;
> > +
> > +    _net_rx_rss_add_chunk(rss_input, bytes_written,
> > +                          &udphdr->uh_sport, sizeof(uint16_t));
> > +
> > +    _net_rx_rss_add_chunk(rss_input, bytes_written,
> > +                          &udphdr->uh_dport, sizeof(uint16_t));
> > +}
> > +
> > uint32_t
> > net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
> >                          NetRxPktRssType type,
> > @@ -347,6 +361,34 @@ net_rx_pkt_calc_rss_hash(struct NetRxPkt *pkt,
> >         trace_net_rx_pkt_rss_ip6_ex();
> >         _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
> >         break;
> > +    case NetPktRssIpV6TcpEx:
> > +        assert(pkt->isip6);
> > +        assert(pkt->istcp);
> > +        trace_net_rx_pkt_rss_ip6_ex_tcp();
> > +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
> > +        _net_rx_rss_prepare_tcp(&rss_input[0], pkt, &rss_length);
> > +        break;
> > +    case NetPktRssIpV4Udp:
> > +        assert(pkt->isip4);
> > +        assert(pkt->isudp);
> > +        trace_net_rx_pkt_rss_ip4_udp();
> > +        _net_rx_rss_prepare_ip4(&rss_input[0], pkt, &rss_length);
> > +        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
> > +        break;
> > +    case NetPktRssIpV6Udp:
> > +        assert(pkt->isip6);
> > +        assert(pkt->isudp);
> > +        trace_net_rx_pkt_rss_ip6_udp();
> > +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, false, &rss_length);
> > +        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
> > +        break;
> > +    case NetPktRssIpV6UdpEx:
> > +        assert(pkt->isip6);
> > +        assert(pkt->isudp);
> > +        trace_net_rx_pkt_rss_ip6_ex_udp();
> > +        _net_rx_rss_prepare_ip6(&rss_input[0], pkt, true, &rss_length);
> > +        _net_rx_rss_prepare_udp(&rss_input[0], pkt, &rss_length);
> > +        break;
> >     default:
> >         assert(false);
> >         break;
> > diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h
> > index 7adf0fad51..048e3461f0 100644
> > --- a/hw/net/net_rx_pkt.h
> > +++ b/hw/net/net_rx_pkt.h
> > @@ -133,7 +133,11 @@ typedef enum {
> >     NetPktRssIpV4Tcp,
> >     NetPktRssIpV6Tcp,
> >     NetPktRssIpV6,
> > -    NetPktRssIpV6Ex
> > +    NetPktRssIpV6Ex,
> > +    NetPktRssIpV6TcpEx,
> > +    NetPktRssIpV4Udp,
> > +    NetPktRssIpV6Udp,
> > +    NetPktRssIpV6UdpEx,
> > } NetRxPktRssType;
> >
> > /**
> > diff --git a/hw/net/trace-events b/hw/net/trace-events
> > index 6f990ede87..73d4558f7e 100644
> > --- a/hw/net/trace-events
> > +++ b/hw/net/trace-events
> > @@ -92,9 +92,13 @@ net_rx_pkt_l3_csum_validate_csum(size_t l3hdr_off, uint32_t csl, uint32_t cntr,
> >
> > net_rx_pkt_rss_ip4(void) "Calculating IPv4 RSS  hash"
> > net_rx_pkt_rss_ip4_tcp(void) "Calculating IPv4/TCP RSS  hash"
> > +net_rx_pkt_rss_ip4_udp(void) "Calculating IPv4/UDP RSS  hash"
> > net_rx_pkt_rss_ip6_tcp(void) "Calculating IPv6/TCP RSS  hash"
> > +net_rx_pkt_rss_ip6_udp(void) "Calculating IPv6/UDP RSS  hash"
> > net_rx_pkt_rss_ip6(void) "Calculating IPv6 RSS  hash"
> > net_rx_pkt_rss_ip6_ex(void) "Calculating IPv6/EX RSS  hash"
> > +net_rx_pkt_rss_ip6_ex_tcp(void) "Calculating IPv6/EX/TCP RSS  hash"
> > +net_rx_pkt_rss_ip6_ex_udp(void) "Calculating IPv6/EX/UDP RSS  hash"
> > net_rx_pkt_rss_hash(size_t rss_length, uint32_t rss_hash) "RSS hash for %zu bytes: 0x%X"
> > net_rx_pkt_rss_add_chunk(void* ptr, size_t size, size_t input_offset) "Add RSS chunk %p, %zu bytes, RSS input offset %zu bytes"
> >
> > --
> > 2.17.1
> >
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] NetRxPkt: Introduce support for additional hash types
  2020-02-12  8:50   ` Yuri Benditovich
@ 2020-02-12  9:01     ` Jason Wang
  0 siblings, 0 replies; 6+ messages in thread
From: Jason Wang @ 2020-02-12  9:01 UTC (permalink / raw)
  To: Yuri Benditovich; +Cc: Yan Vugenfirer, Dmitry Fleytman, qemu-devel


On 2020/2/12 下午4:50, Yuri Benditovich wrote:
> Hi Jason,
>
> Can you please review these 2 patches and apply if there are no objections.
>
> Thanks,
> Yuri Benditovich


Applied.

Thanks





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-02-12  9:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-27 11:54 [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Yuri Benditovich
2020-01-27 11:54 ` [PATCH 2/2] NetRxPkt: fix hash calculation of IPV6 TCP Yuri Benditovich
2020-01-29 16:09   ` Dmitry Fleytman
2020-01-29 16:09 ` [PATCH 1/2] NetRxPkt: Introduce support for additional hash types Dmitry Fleytman
2020-02-12  8:50   ` Yuri Benditovich
2020-02-12  9:01     ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).