qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c
@ 2018-02-22  9:04 Thomas Huth
  2018-02-27  7:55 ` Jason Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2018-02-22  9:04 UTC (permalink / raw)
  To: qemu-devel, Jason Wang, Dmitry Fleytman

The functions are only used in this single .c file, so there is
no need to put all this code in a header that is included from
multiple places.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/net/net_rx_pkt.c    | 44 ++++++++++++++++++++++++++++++++++++++++++++
 include/net/checksum.h | 44 --------------------------------------------
 2 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
index 98a5030..f66beb3 100644
--- a/hw/net/net_rx_pkt.c
+++ b/hw/net/net_rx_pkt.c
@@ -48,6 +48,50 @@ struct NetRxPkt {
     eth_l4_hdr_info  l4hdr_info;
 };
 
+typedef struct toeplitz_key_st {
+    uint32_t leftmost_32_bits;
+    uint8_t *next_byte;
+} net_toeplitz_key;
+
+static inline
+void net_toeplitz_key_init(net_toeplitz_key *key, uint8_t *key_bytes)
+{
+    key->leftmost_32_bits = be32_to_cpu(*(uint32_t *)key_bytes);
+    key->next_byte = key_bytes + sizeof(uint32_t);
+}
+
+static inline
+void net_toeplitz_add(uint32_t *result,
+                      uint8_t *input,
+                      uint32_t len,
+                      net_toeplitz_key *key)
+{
+    register uint32_t accumulator = *result;
+    register uint32_t leftmost_32_bits = key->leftmost_32_bits;
+    register uint32_t byte;
+
+    for (byte = 0; byte < len; byte++) {
+        register uint8_t input_byte = input[byte];
+        register uint8_t key_byte = *(key->next_byte++);
+        register uint8_t bit;
+
+        for (bit = 0; bit < 8; bit++) {
+            if (input_byte & (1 << 7)) {
+                accumulator ^= leftmost_32_bits;
+            }
+
+            leftmost_32_bits =
+                (leftmost_32_bits << 1) | ((key_byte & (1 << 7)) >> 7);
+
+            input_byte <<= 1;
+            key_byte <<= 1;
+        }
+    }
+
+    key->leftmost_32_bits = leftmost_32_bits;
+    *result = accumulator;
+}
+
 void net_rx_pkt_init(struct NetRxPkt **pkt, bool has_virt_hdr)
 {
     struct NetRxPkt *p = g_malloc0(sizeof *p);
diff --git a/include/net/checksum.h b/include/net/checksum.h
index 05a0d27..77a56c1 100644
--- a/include/net/checksum.h
+++ b/include/net/checksum.h
@@ -59,48 +59,4 @@ uint32_t net_checksum_add_iov(const struct iovec *iov,
                               uint32_t iov_off, uint32_t size,
                               uint32_t csum_offset);
 
-typedef struct toeplitz_key_st {
-    uint32_t leftmost_32_bits;
-    uint8_t *next_byte;
-} net_toeplitz_key;
-
-static inline
-void net_toeplitz_key_init(net_toeplitz_key *key, uint8_t *key_bytes)
-{
-    key->leftmost_32_bits = be32_to_cpu(*(uint32_t *)key_bytes);
-    key->next_byte = key_bytes + sizeof(uint32_t);
-}
-
-static inline
-void net_toeplitz_add(uint32_t *result,
-                      uint8_t *input,
-                      uint32_t len,
-                      net_toeplitz_key *key)
-{
-    register uint32_t accumulator = *result;
-    register uint32_t leftmost_32_bits = key->leftmost_32_bits;
-    register uint32_t byte;
-
-    for (byte = 0; byte < len; byte++) {
-        register uint8_t input_byte = input[byte];
-        register uint8_t key_byte = *(key->next_byte++);
-        register uint8_t bit;
-
-        for (bit = 0; bit < 8; bit++) {
-            if (input_byte & (1 << 7)) {
-                accumulator ^= leftmost_32_bits;
-            }
-
-            leftmost_32_bits =
-                (leftmost_32_bits << 1) | ((key_byte & (1 << 7)) >> 7);
-
-            input_byte <<= 1;
-            key_byte <<= 1;
-        }
-    }
-
-    key->leftmost_32_bits = leftmost_32_bits;
-    *result = accumulator;
-}
-
 #endif /* QEMU_NET_CHECKSUM_H */
-- 
1.8.3.1

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

* Re: [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c
  2018-02-22  9:04 [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c Thomas Huth
@ 2018-02-27  7:55 ` Jason Wang
  2018-02-27  8:03   ` Thomas Huth
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Wang @ 2018-02-27  7:55 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel, Dmitry Fleytman



On 2018年02月22日 17:04, Thomas Huth wrote:
> The functions are only used in this single .c file, so there is
> no need to put all this code in a header that is included from
> multiple places.
>
> Signed-off-by: Thomas Huth<thuth@redhat.com>
> ---
>   hw/net/net_rx_pkt.c    | 44 ++++++++++++++++++++++++++++++++++++++++++++
>   include/net/checksum.h | 44 --------------------------------------------
>   2 files changed, 44 insertions(+), 44 deletions(-)

Hi Thomas,

We have plan to implement RSS for virtio-net, so it looks like we'd 
better keep it in the header.

Thanks

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

* Re: [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c
  2018-02-27  7:55 ` Jason Wang
@ 2018-02-27  8:03   ` Thomas Huth
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2018-02-27  8:03 UTC (permalink / raw)
  To: Jason Wang, qemu-devel, Dmitry Fleytman

On 27.02.2018 08:55, Jason Wang wrote:
> 
> 
> On 2018年02月22日 17:04, Thomas Huth wrote:
>> The functions are only used in this single .c file, so there is
>> no need to put all this code in a header that is included from
>> multiple places.
>>
>> Signed-off-by: Thomas Huth<thuth@redhat.com>
>> ---
>>   hw/net/net_rx_pkt.c    | 44
>> ++++++++++++++++++++++++++++++++++++++++++++
>>   include/net/checksum.h | 44
>> --------------------------------------------
>>   2 files changed, 44 insertions(+), 44 deletions(-)
> 
> Hi Thomas,
> 
> We have plan to implement RSS for virtio-net, so it looks like we'd
> better keep it in the header.

Oh, ok, I didn't know that, so never mind. Then please simply ignore
this patch :-)

 Thomas

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

end of thread, other threads:[~2018-02-27  8:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-22  9:04 [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c Thomas Huth
2018-02-27  7:55 ` Jason Wang
2018-02-27  8:03   ` Thomas Huth

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).