Re: [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c

2018-02-27 Thread Thomas Huth
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
>> ---
>>   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



Re: [Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c

2018-02-26 Thread Jason Wang



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



[Qemu-devel] [PATCH] net: Move the toeplitz functions from checksum.h to net_rx_pkt.c

2018-02-22 Thread Thomas Huth
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 
---
 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