[PATCH v5 8/8] net: mark all big endian types
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Thu Feb 2 11:01:08 CET 2023
On 1/26/23 19:19, Ferruh Yigit wrote:
> From: Thomas Monjalon <thomas at monjalon.net>
>
> Some protocols (ARP, MPLS and HIGIG2) were using uint16_t and uint32_t
> types for their 16 and 32-bit fields.
> It was correct but not conveying the big endian nature of these fields.
>
> As for other protocols defined in this directory,
> all types are explicitly marked as big endian fields.
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
One nit below,
Acked-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> diff --git a/lib/net/rte_arp.h b/lib/net/rte_arp.h
> index 076c8ab314ee..151e6c641fc5 100644
> --- a/lib/net/rte_arp.h
> +++ b/lib/net/rte_arp.h
> @@ -23,28 +23,28 @@ extern "C" {
> */
> struct rte_arp_ipv4 {
> struct rte_ether_addr arp_sha; /**< sender hardware address */
> - uint32_t arp_sip; /**< sender IP address */
> + rte_be32_t arp_sip; /**< sender IP address */
> struct rte_ether_addr arp_tha; /**< target hardware address */
> - uint32_t arp_tip; /**< target IP address */
> + rte_be32_t arp_tip; /**< target IP address */
> } __rte_packed __rte_aligned(2);
>
> /**
> * ARP header.
> */
> struct rte_arp_hdr {
> - uint16_t arp_hardware; /* format of hardware address */
> -#define RTE_ARP_HRD_ETHER 1 /* ARP Ethernet address format */
> + rte_be16_t arp_hardware; /** format of hardware address */
> +#define RTE_ARP_HRD_ETHER 1 /** ARP Ethernet address format */
The comment is fixed above, but it is still wrong. It should be
/**<. So, I'd either don't touch it at all, or fix in a right
way. Same for all fields below.
>
> - uint16_t arp_protocol; /* format of protocol address */
> - uint8_t arp_hlen; /* length of hardware address */
> - uint8_t arp_plen; /* length of protocol address */
> - uint16_t arp_opcode; /* ARP opcode (command) */
> -#define RTE_ARP_OP_REQUEST 1 /* request to resolve address */
> -#define RTE_ARP_OP_REPLY 2 /* response to previous request */
> -#define RTE_ARP_OP_REVREQUEST 3 /* request proto addr given hardware */
> -#define RTE_ARP_OP_REVREPLY 4 /* response giving protocol address */
> -#define RTE_ARP_OP_INVREQUEST 8 /* request to identify peer */
> -#define RTE_ARP_OP_INVREPLY 9 /* response identifying peer */
> + rte_be16_t arp_protocol; /** format of protocol address */
> + uint8_t arp_hlen; /** length of hardware address */
> + uint8_t arp_plen; /** length of protocol address */
> + rte_be16_t arp_opcode; /** ARP opcode (command) */
> +#define RTE_ARP_OP_REQUEST 1 /** request to resolve address */
> +#define RTE_ARP_OP_REPLY 2 /** response to previous request */
> +#define RTE_ARP_OP_REVREQUEST 3 /** request proto addr given hardware */
> +#define RTE_ARP_OP_REVREPLY 4 /** response giving protocol address */
> +#define RTE_ARP_OP_INVREQUEST 8 /** request to identify peer */
> +#define RTE_ARP_OP_INVREPLY 9 /** response identifying peer */
>
> struct rte_arp_ipv4 arp_data;
> } __rte_packed __rte_aligned(2);
[snip[
More information about the dev
mailing list