[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v2 28/41] hw/net/net_rx_pkt: Enforce alignment for eth_header
From: |
Sriram Yagnaraman |
Subject: |
RE: [PATCH v2 28/41] hw/net/net_rx_pkt: Enforce alignment for eth_header |
Date: |
Thu, 20 Apr 2023 16:22:28 +0000 |
> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Thursday, 20 April 2023 07:47
> Cc: Sriram Yagnaraman <sriram.yagnaraman@est.tech>; Jason Wang
> <jasowang@redhat.com>; Dmitry Fleytman <dmitry.fleytman@gmail.com>;
> Michael S . Tsirkin <mst@redhat.com>; Alex Bennée
> <alex.bennee@linaro.org>; Philippe Mathieu-Daudé <philmd@linaro.org>;
> Thomas Huth <thuth@redhat.com>; Wainer dos Santos Moschetta
> <wainersm@redhat.com>; Beraldo Leal <bleal@redhat.com>; Cleber Rosa
> <crosa@redhat.com>; Laurent Vivier <lvivier@redhat.com>; Paolo Bonzini
> <pbonzini@redhat.com>; qemu-devel@nongnu.org; Tomasz Dzieciol
> <t.dzieciol@partner.samsung.com>; Akihiko Odaki
> <akihiko.odaki@daynix.com>
> Subject: [PATCH v2 28/41] hw/net/net_rx_pkt: Enforce alignment for
> eth_header
>
> eth_strip_vlan and eth_strip_vlan_ex refers to ehdr_buf as struct eth_header.
> Enforce alignment for the structure.
>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
> hw/net/net_rx_pkt.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c index
> 6125a063d7..1de42b4f51 100644
> --- a/hw/net/net_rx_pkt.c
> +++ b/hw/net/net_rx_pkt.c
> @@ -23,7 +23,10 @@
>
> struct NetRxPkt {
> struct virtio_net_hdr virt_hdr;
> - uint8_t ehdr_buf[sizeof(struct eth_header) + sizeof(struct vlan_header)];
> + struct {
> + struct eth_header eth;
> + struct vlan_header vlan;
> + } ehdr_buf;
> struct iovec *vec;
> uint16_t vec_len_total;
> uint16_t vec_len;
> @@ -89,7 +92,7 @@ net_rx_pkt_pull_data(struct NetRxPkt *pkt,
> if (pkt->ehdr_buf_len) {
> net_rx_pkt_iovec_realloc(pkt, iovcnt + 1);
>
> - pkt->vec[0].iov_base = pkt->ehdr_buf;
> + pkt->vec[0].iov_base = &pkt->ehdr_buf;
> pkt->vec[0].iov_len = pkt->ehdr_buf_len;
>
> pkt->tot_len = pllen + pkt->ehdr_buf_len; @@ -120,7 +123,7 @@ void
> net_rx_pkt_attach_iovec(struct NetRxPkt *pkt,
> assert(pkt);
>
> if (strip_vlan) {
> - pkt->ehdr_buf_len = eth_strip_vlan(iov, iovcnt, iovoff,
> pkt->ehdr_buf,
> + pkt->ehdr_buf_len = eth_strip_vlan(iov, iovcnt, iovoff,
> + &pkt->ehdr_buf,
> &ploff, &tci);
> } else {
> pkt->ehdr_buf_len = 0;
> @@ -142,7 +145,7 @@ void net_rx_pkt_attach_iovec_ex(struct NetRxPkt
> *pkt,
>
> if (strip_vlan) {
> pkt->ehdr_buf_len = eth_strip_vlan_ex(iov, iovcnt, iovoff, vet,
> - pkt->ehdr_buf,
> + &pkt->ehdr_buf,
> &ploff, &tci);
> } else {
> pkt->ehdr_buf_len = 0;
> --
> 2.40.0
LGTM
- [PATCH v2 19/41] igb: Remove goto, (continued)
- [PATCH v2 19/41] igb: Remove goto, Akihiko Odaki, 2023/04/20
- [PATCH v2 20/41] igb: Read DCMD.VLE of the first Tx descriptor, Akihiko Odaki, 2023/04/20
- [PATCH v2 21/41] e1000e: Reset packet state after emptying Tx queue, Akihiko Odaki, 2023/04/20
- [PATCH v2 22/41] vmxnet3: Reset packet state after emptying Tx queue, Akihiko Odaki, 2023/04/20
- [PATCH v2 25/41] igb: Fix igb_mac_reg_init coding style alignment, Akihiko Odaki, 2023/04/20
- [PATCH v2 26/41] net/eth: Use void pointers, Akihiko Odaki, 2023/04/20
- [PATCH v2 23/41] igb: Add more definitions for Tx descriptor, Akihiko Odaki, 2023/04/20
- [PATCH v2 24/41] igb: Share common VF constants, Akihiko Odaki, 2023/04/20
- [PATCH v2 28/41] hw/net/net_rx_pkt: Enforce alignment for eth_header, Akihiko Odaki, 2023/04/20
- RE: [PATCH v2 28/41] hw/net/net_rx_pkt: Enforce alignment for eth_header,
Sriram Yagnaraman <=
- [PATCH v2 29/41] tests/qtest/libqos/igb: Set GPIE.Multiple_MSIX, Akihiko Odaki, 2023/04/20
- [PATCH v2 30/41] igb: Implement MSI-X single vector mode, Akihiko Odaki, 2023/04/20
- [PATCH v2 31/41] igb: Use UDP for RSS hash, Akihiko Odaki, 2023/04/20
- [PATCH v2 33/41] igb: Implement Tx SCTP CSO, Akihiko Odaki, 2023/04/20
- [PATCH v2 27/41] net/eth: Always add VLAN tag, Akihiko Odaki, 2023/04/20
- [PATCH v2 35/41] igb: Filter with the second VLAN tag for extended VLAN, Akihiko Odaki, 2023/04/20