[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v2 16/41] e1000x: Rename TcpIpv6 into TcpIpv6Ex
From: |
Sriram Yagnaraman |
Subject: |
RE: [PATCH v2 16/41] e1000x: Rename TcpIpv6 into TcpIpv6Ex |
Date: |
Thu, 20 Apr 2023 16:22:19 +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 16/41] e1000x: Rename TcpIpv6 into TcpIpv6Ex
>
> e1000e and igb employs NetPktRssIpV6TcpEx for RSS hash if TcpIpv6 MRQC bit
> is set. Moreover, igb also has a MRQC bit for NetPktRssIpV6Tcp though it is
> not
> implemented yet. Rename it to TcpIpv6Ex to avoid confusion.
>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
> hw/net/e1000x_regs.h | 24 ++++++++++++------------ hw/net/e1000e_core.c |
> 8 ++++----
> hw/net/igb_core.c | 8 ++++----
> hw/net/trace-events | 2 +-
> 4 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/hw/net/e1000x_regs.h b/hw/net/e1000x_regs.h index
> 6d3c4c6d3a..13760c66d3 100644
> --- a/hw/net/e1000x_regs.h
> +++ b/hw/net/e1000x_regs.h
> @@ -290,18 +290,18 @@
> #define E1000_RETA_IDX(hash) ((hash) & (BIT(7) - 1))
> #define E1000_RETA_VAL(reta, hash) (((uint8_t
> *)(reta))[E1000_RETA_IDX(hash)])
>
> -#define E1000_MRQC_EN_TCPIPV4(mrqc) ((mrqc) & BIT(16))
> -#define E1000_MRQC_EN_IPV4(mrqc) ((mrqc) & BIT(17))
> -#define E1000_MRQC_EN_TCPIPV6(mrqc) ((mrqc) & BIT(18)) -#define
> E1000_MRQC_EN_IPV6EX(mrqc) ((mrqc) & BIT(19))
> -#define E1000_MRQC_EN_IPV6(mrqc) ((mrqc) & BIT(20))
> -
> -#define E1000_MRQ_RSS_TYPE_NONE (0)
> -#define E1000_MRQ_RSS_TYPE_IPV4TCP (1)
> -#define E1000_MRQ_RSS_TYPE_IPV4 (2)
> -#define E1000_MRQ_RSS_TYPE_IPV6TCP (3)
> -#define E1000_MRQ_RSS_TYPE_IPV6EX (4)
> -#define E1000_MRQ_RSS_TYPE_IPV6 (5)
> +#define E1000_MRQC_EN_TCPIPV4(mrqc) ((mrqc) & BIT(16))
> +#define E1000_MRQC_EN_IPV4(mrqc) ((mrqc) & BIT(17))
> +#define E1000_MRQC_EN_TCPIPV6EX(mrqc) ((mrqc) & BIT(18))
> +#define E1000_MRQC_EN_IPV6EX(mrqc) ((mrqc) & BIT(19))
> +#define E1000_MRQC_EN_IPV6(mrqc) ((mrqc) & BIT(20))
> +
> +#define E1000_MRQ_RSS_TYPE_NONE (0)
> +#define E1000_MRQ_RSS_TYPE_IPV4TCP (1)
> +#define E1000_MRQ_RSS_TYPE_IPV4 (2)
> +#define E1000_MRQ_RSS_TYPE_IPV6TCPEX (3)
> +#define E1000_MRQ_RSS_TYPE_IPV6EX (4)
> +#define E1000_MRQ_RSS_TYPE_IPV6 (5)
>
> #define E1000_ICR_ASSERTED BIT(31)
> #define E1000_EIAC_MASK 0x01F00000
> diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index
> 743b36ddfb..481db41931 100644
> --- a/hw/net/e1000e_core.c
> +++ b/hw/net/e1000e_core.c
> @@ -537,7 +537,7 @@ e1000e_rss_get_hash_type(E1000ECore *core, struct
> NetRxPkt *pkt)
> ip6info->rss_ex_dst_valid,
> ip6info->rss_ex_src_valid,
> core->mac[MRQC],
> - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC]),
> +
> + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC]),
Some formatting gone wrong here? Otherwise,
Reviewed-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
> E1000_MRQC_EN_IPV6EX(core->mac[MRQC]),
> E1000_MRQC_EN_IPV6(core->mac[MRQC]));
>
> @@ -546,8 +546,8 @@ e1000e_rss_get_hash_type(E1000ECore *core, struct
> NetRxPkt *pkt)
> ip6info->rss_ex_src_valid))) {
>
> if (l4hdr_proto == ETH_L4_HDR_PROTO_TCP &&
> - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC])) {
> - return E1000_MRQ_RSS_TYPE_IPV6TCP;
> + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC])) {
> + return E1000_MRQ_RSS_TYPE_IPV6TCPEX;
> }
>
> if (E1000_MRQC_EN_IPV6EX(core->mac[MRQC])) { @@ -581,7 +581,7
> @@ e1000e_rss_calc_hash(E1000ECore *core,
> case E1000_MRQ_RSS_TYPE_IPV4TCP:
> type = NetPktRssIpV4Tcp;
> break;
> - case E1000_MRQ_RSS_TYPE_IPV6TCP:
> + case E1000_MRQ_RSS_TYPE_IPV6TCPEX:
> type = NetPktRssIpV6TcpEx;
> break;
> case E1000_MRQ_RSS_TYPE_IPV6:
> diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index
> 4b9131e566..0182880adf 100644
> --- a/hw/net/igb_core.c
> +++ b/hw/net/igb_core.c
> @@ -301,7 +301,7 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt
> *pkt)
> ip6info->rss_ex_dst_valid,
> ip6info->rss_ex_src_valid,
> core->mac[MRQC],
> - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC]),
> +
> + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC]),
> E1000_MRQC_EN_IPV6EX(core->mac[MRQC]),
> E1000_MRQC_EN_IPV6(core->mac[MRQC]));
>
> @@ -310,8 +310,8 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt
> *pkt)
> ip6info->rss_ex_src_valid))) {
>
> if (l4hdr_proto == ETH_L4_HDR_PROTO_TCP &&
> - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC])) {
> - return E1000_MRQ_RSS_TYPE_IPV6TCP;
> + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC])) {
> + return E1000_MRQ_RSS_TYPE_IPV6TCPEX;
> }
>
> if (E1000_MRQC_EN_IPV6EX(core->mac[MRQC])) { @@ -343,7 +343,7
> @@ igb_rss_calc_hash(IGBCore *core, struct NetRxPkt *pkt, E1000E_RSSInfo
> *info)
> case E1000_MRQ_RSS_TYPE_IPV4TCP:
> type = NetPktRssIpV4Tcp;
> break;
> - case E1000_MRQ_RSS_TYPE_IPV6TCP:
> + case E1000_MRQ_RSS_TYPE_IPV6TCPEX:
> type = NetPktRssIpV6TcpEx;
> break;
> case E1000_MRQ_RSS_TYPE_IPV6:
> diff --git a/hw/net/trace-events b/hw/net/trace-events index
> a34d196ff7..64d776bc2a 100644
> --- a/hw/net/trace-events
> +++ b/hw/net/trace-events
> @@ -179,7 +179,7 @@ e1000e_rx_rss_disabled(void) "RSS is disabled"
> e1000e_rx_rss_type(uint32_t type) "RSS type is %u"
> e1000e_rx_rss_ip4(int l4hdr_proto, uint32_t mrqc, bool tcpipv4_enabled,
> bool ipv4_enabled) "RSS IPv4: L4 header protocol %d, mrqc 0x%X, tcpipv4
> enabled %d, ipv4 enabled %d"
> e1000e_rx_rss_ip6_rfctl(uint32_t rfctl) "RSS IPv6: rfctl 0x%X"
> -e1000e_rx_rss_ip6(bool ex_dis, bool new_ex_dis, int l4hdr_proto, bool
> has_ext_headers, bool ex_dst_valid, bool ex_src_valid, uint32_t mrqc, bool
> tcpipv6_enabled, bool ipv6ex_enabled, bool ipv6_enabled) "RSS IPv6: ex_dis:
> %d, new_ex_dis: %d, L4 header protocol %d, has_ext_headers %d, ex_dst_valid
> %d, ex_src_valid %d, mrqc 0x%X, tcpipv6 enabled %d, ipv6ex enabled %d, ipv6
> enabled %d"
> +e1000e_rx_rss_ip6(bool ex_dis, bool new_ex_dis, int l4hdr_proto, bool
> has_ext_headers, bool ex_dst_valid, bool ex_src_valid, uint32_t mrqc, bool
> tcpipv6ex_enabled, bool ipv6ex_enabled, bool ipv6_enabled) "RSS IPv6:
> ex_dis: %d, new_ex_dis: %d, L4 header protocol %d, has_ext_headers %d,
> ex_dst_valid %d, ex_src_valid %d, mrqc 0x%X, tcpipv6ex enabled %d, ipv6ex
> enabled %d, ipv6 enabled %d"
>
> e1000e_rx_metadata_protocols(bool hasip4, bool hasip6, int l4hdr_protocol)
> "protocols: ip4: %d, ip6: %d, l4hdr: %d"
> e1000e_rx_metadata_vlan(uint16_t vlan_tag) "VLAN tag is 0x%X"
> --
> 2.40.0
- [PATCH v2 08/41] igb: Always copy ethernet header, (continued)
- [PATCH v2 08/41] igb: Always copy ethernet header, Akihiko Odaki, 2023/04/20
- [PATCH v2 09/41] Fix references to igb Avocado test, Akihiko Odaki, 2023/04/20
- [PATCH v2 10/41] tests/avocado: Remove unused imports, Akihiko Odaki, 2023/04/20
- [PATCH v2 11/41] tests/avocado: Remove test_igb_nomsi_kvm, Akihiko Odaki, 2023/04/20
- [PATCH v2 12/41] hw/net/net_tx_pkt: Remove net_rx_pkt_get_l4_info, Akihiko Odaki, 2023/04/20
- [PATCH v2 14/41] e1000x: Share more Rx filtering logic, Akihiko Odaki, 2023/04/20
- [PATCH v2 15/41] e1000x: Take CRC into consideration for size check, Akihiko Odaki, 2023/04/20
- [PATCH v2 16/41] e1000x: Rename TcpIpv6 into TcpIpv6Ex, Akihiko Odaki, 2023/04/20
- RE: [PATCH v2 16/41] e1000x: Rename TcpIpv6 into TcpIpv6Ex,
Sriram Yagnaraman <=
- [PATCH v2 17/41] e1000e: Always log status after building rx metadata, Akihiko Odaki, 2023/04/20
- [PATCH v2 13/41] net/eth: Rename eth_setup_vlan_headers_ex, Akihiko Odaki, 2023/04/20
- [PATCH v2 18/41] igb: Always log status after building rx metadata, Akihiko Odaki, 2023/04/20
- [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