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