[dpdk-dev,v2] enicpmd: replace the type u_int* with uint* to remove compilation errors on a few platforms

Message ID 1417167499-4847-1-git-send-email-ssujith@cisco.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Sujith Sankar Nov. 28, 2014, 9:38 a.m. UTC
  ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc because
of types such as u_int32_t.  This patch replaces all those with uint32_t and
similar ones.

Reported-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Sujith Sankar <ssujith@cisco.com>
---
 lib/librte_pmd_enic/enic.h             |  2 +-
 lib/librte_pmd_enic/enic_compat.h      | 24 ++++++++++++------------
 lib/librte_pmd_enic/enic_main.c        | 18 +++++++++---------
 lib/librte_pmd_enic/vnic/vnic_devcmd.h |  6 +++---
 4 files changed, 25 insertions(+), 25 deletions(-)
  

Comments

Thomas Monjalon Nov. 28, 2014, 10:17 a.m. UTC | #1
Hi Sujith,

Some tips when sending a v2:
- use --in-reply-to to keep all the versions in the same thread
- use --annotate to write a changelog

These guidelines are explained in this page:
	http://dpdk.org/dev#send

Thanks
  
Sujith Sankar Nov. 28, 2014, 10:21 a.m. UTC | #2
Sure Thomas.  Thanks !
Do you want me to send this V2 again with these?

-Sujith

On 28/11/14 3:47 pm, "Thomas Monjalon" <thomas.monjalon@6wind.com> wrote:

>Hi Sujith,
>
>Some tips when sending a v2:
>- use --in-reply-to to keep all the versions in the same thread
>- use --annotate to write a changelog
>
>These guidelines are explained in this page:
>	http://dpdk.org/dev#send
>
>Thanks
>-- 
>Thomas
  
Thomas Monjalon Nov. 28, 2014, 10:28 a.m. UTC | #3
2014-11-28 10:21, Sujith Sankar:
> Sure Thomas.  Thanks !
> Do you want me to send this V2 again with these?

No, not needed. Just a reminder for next time in the hope you'll
send hundreds of good patches ;)

Note: avoid top-posting (there's also some guidelines for emails).

> On 28/11/14 3:47 pm, "Thomas Monjalon" <thomas.monjalon@6wind.com> wrote:
> >Hi Sujith,
> >
> >Some tips when sending a v2:
> >- use --in-reply-to to keep all the versions in the same thread
> >- use --annotate to write a changelog
> >
> >These guidelines are explained in this page:
> >	http://dpdk.org/dev#send
> >
> >Thanks
  
Bruce Richardson Nov. 28, 2014, 1:48 p.m. UTC | #4
On Fri, Nov 28, 2014 at 03:08:19PM +0530, Sujith Sankar wrote:
> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc because
> of types such as u_int32_t.  This patch replaces all those with uint32_t and
> similar ones.
> 
> Reported-by: David Marchand <david.marchand@6wind.com>
> Signed-off-by: Sujith Sankar <ssujith@cisco.com>
> ---

Thanks for the patch to change these. Can I also suggest that you try compilation
with the clang compiler too, as I get a number of errors reported by that compiler
when I try compiling up the librte_pmd_enic folder.

Regards,
/Bruce
  
David Marchand Nov. 28, 2014, 3:50 p.m. UTC | #5
On Fri, Nov 28, 2014 at 10:38 AM, Sujith Sankar <ssujith@cisco.com> wrote:

> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc
> because
> of types such as u_int32_t.  This patch replaces all those with uint32_t
> and
> similar ones.
>
> Reported-by: David Marchand <david.marchand@6wind.com>
> Signed-off-by: Sujith Sankar <ssujith@cisco.com>
> ---
>  lib/librte_pmd_enic/enic.h             |  2 +-
>  lib/librte_pmd_enic/enic_compat.h      | 24 ++++++++++++------------
>  lib/librte_pmd_enic/enic_main.c        | 18 +++++++++---------
>  lib/librte_pmd_enic/vnic/vnic_devcmd.h |  6 +++---
>  4 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/lib/librte_pmd_enic/enic.h b/lib/librte_pmd_enic/enic.h
> index 9f80fc0..6400d24 100644
> --- a/lib/librte_pmd_enic/enic.h
> +++ b/lib/librte_pmd_enic/enic.h
> @@ -106,7 +106,7 @@ struct enic {
>         int iommu_group_fd;
>         int iommu_groupid;
>         int eventfd;
> -       u_int8_t mac_addr[ETH_ALEN];
> +       uint8_t mac_addr[ETH_ALEN];
>         pthread_t err_intr_thread;
>         int promisc;
>         int allmulti;
> diff --git a/lib/librte_pmd_enic/enic_compat.h
> b/lib/librte_pmd_enic/enic_compat.h
> index d22578e..b3738ee 100644
> --- a/lib/librte_pmd_enic/enic_compat.h
> +++ b/lib/librte_pmd_enic/enic_compat.h
> @@ -89,34 +89,34 @@ typedef             unsigned int        u32;
>  typedef         unsigned long long  u64;
>  typedef         unsigned long long  dma_addr_t;
>
> -static inline u_int32_t ioread32(volatile void *addr)
> +static inline uint32_t ioread32(volatile void *addr)
>  {
> -       return *(volatile u_int32_t *)addr;
> +       return *(volatile uint32_t *)addr;
>  }
>
> -static inline u16 ioread16(volatile void *addr)
> +static inline uint16_t ioread16(volatile void *addr)
>  {
> -       return *(volatile u16 *)addr;
> +       return *(volatile uint16_t *)addr;
>  }
>
> -static inline u_int8_t ioread8(volatile void *addr)
> +static inline uint8_t ioread8(volatile void *addr)
>  {
> -       return *(volatile u_int8_t *)addr;
> +       return *(volatile uint8_t *)addr;
>  }
>
> -static inline void iowrite32(u_int32_t val, volatile void *addr)
> +static inline void iowrite32(uint32_t val, volatile void *addr)
>  {
> -       *(volatile u_int32_t *)addr = val;
> +       *(volatile uint32_t *)addr = val;
>  }
>
> -static inline void iowrite16(u16 val, volatile void *addr)
> +static inline void iowrite16(uint16_t val, volatile void *addr)
>  {
> -       *(volatile u16 *)addr = val;
> +       *(volatile uint16_t *)addr = val;
>  }
>
> -static inline void iowrite8(u_int8_t val, volatile void *addr)
> +static inline void iowrite8(uint8_t val, volatile void *addr)
>  {
> -       *(volatile u_int8_t *)addr = val;
> +       *(volatile uint8_t *)addr = val;
>  }
>
>  static inline unsigned int readl(volatile void __iomem *addr)
> diff --git a/lib/librte_pmd_enic/enic_main.c
> b/lib/librte_pmd_enic/enic_main.c
> index f6f00d3..853dd04 100644
> --- a/lib/librte_pmd_enic/enic_main.c
> +++ b/lib/librte_pmd_enic/enic_main.c
> @@ -172,17 +172,17 @@ unsigned int enic_cleanup_wq(struct enic *enic,
> struct vnic_wq *wq)
>
>  int enic_send_pkt(struct enic *enic, struct vnic_wq *wq,
>         struct rte_mbuf *tx_pkt, unsigned short len,
> -       u_int8_t sop, u_int8_t eop,
> -       u_int16_t ol_flags, u_int16_t vlan_tag)
> +       uint8_t sop, uint8_t eop,
> +       uint16_t ol_flags, uint16_t vlan_tag)
>  {
>         struct wq_enet_desc *desc = vnic_wq_next_desc(wq);
> -       u_int16_t mss = 0;
> -       u_int16_t header_length = 0;
> -       u_int8_t cq_entry = eop;
> -       u_int8_t vlan_tag_insert = 0;
> +       uint16_t mss = 0;
> +       uint16_t header_length = 0;
> +       uint8_t cq_entry = eop;
> +       uint8_t vlan_tag_insert = 0;
>         unsigned char *buf = (unsigned char *)(tx_pkt->buf_addr) +
>             RTE_PKTMBUF_HEADROOM;
> -       u_int64_t bus_addr = (dma_addr_t)
> +       uint64_t bus_addr = (dma_addr_t)
>             (tx_pkt->buf_physaddr + RTE_PKTMBUF_HEADROOM);
>
>         if (sop) {
> @@ -342,8 +342,8 @@ static int enic_rq_alloc_buf(struct vnic_rq *rq)
>         void *buf;
>         dma_addr_t dma_addr;
>         struct rq_enet_desc *desc = vnic_rq_next_desc(rq);
> -       u_int8_t type = RQ_ENET_TYPE_ONLY_SOP;
> -       u_int16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
> +       uint8_t type = RQ_ENET_TYPE_ONLY_SOP;
> +       uint16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
>         u16 split_hdr_size = vnic_get_hdr_split_size(enic->vdev);
>         struct rte_mbuf *mbuf = enic_rxmbuf_alloc(rq->mp);
>         struct rte_mbuf *hdr_mbuf = NULL;
> diff --git a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> index b4c87c1..e7ecf31 100644
> --- a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> +++ b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> @@ -691,9 +691,9 @@ enum {
>  #define FILTER_MAX_BUF_SIZE 100  /* Maximum size of buffer to
> CMD_ADD_FILTER */
>
>  struct filter_tlv {
> -       u_int32_t type;
> -       u_int32_t length;
> -       u_int32_t val[0];
> +       uint32_t type;
> +       uint32_t length;
> +       uint32_t val[0];
>  };
>
>  enum {
>
>
Ok for me.
Builds fine on ppc64 / x86_64.
  
Bruce Richardson Nov. 28, 2014, 3:52 p.m. UTC | #6
On Fri, Nov 28, 2014 at 03:08:19PM +0530, Sujith Sankar wrote:
> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc because
> of types such as u_int32_t.  This patch replaces all those with uint32_t and
> similar ones.
> 
> Reported-by: David Marchand <david.marchand@6wind.com>
> Signed-off-by: Sujith Sankar <ssujith@cisco.com>

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

This patch helps out with getting a clang compile on BSD. However, one error
and a number of warnings remain that should be looked at in another patch.
The error is:

dpdk.org/lib/librte_pmd_enic/enic_main.c:435:3: fatal error: non-void function 'enic_rq_indicate_buf' should return a value [-Wreturn-type]
                return;

> ---
>  lib/librte_pmd_enic/enic.h             |  2 +-
>  lib/librte_pmd_enic/enic_compat.h      | 24 ++++++++++++------------
>  lib/librte_pmd_enic/enic_main.c        | 18 +++++++++---------
>  lib/librte_pmd_enic/vnic/vnic_devcmd.h |  6 +++---
>  4 files changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/lib/librte_pmd_enic/enic.h b/lib/librte_pmd_enic/enic.h
> index 9f80fc0..6400d24 100644
> --- a/lib/librte_pmd_enic/enic.h
> +++ b/lib/librte_pmd_enic/enic.h
> @@ -106,7 +106,7 @@ struct enic {
>  	int iommu_group_fd;
>  	int iommu_groupid;
>  	int eventfd;
> -	u_int8_t mac_addr[ETH_ALEN];
> +	uint8_t mac_addr[ETH_ALEN];
>  	pthread_t err_intr_thread;
>  	int promisc;
>  	int allmulti;
> diff --git a/lib/librte_pmd_enic/enic_compat.h b/lib/librte_pmd_enic/enic_compat.h
> index d22578e..b3738ee 100644
> --- a/lib/librte_pmd_enic/enic_compat.h
> +++ b/lib/librte_pmd_enic/enic_compat.h
> @@ -89,34 +89,34 @@ typedef		unsigned int        u32;
>  typedef         unsigned long long  u64;
>  typedef         unsigned long long  dma_addr_t;
>  
> -static inline u_int32_t ioread32(volatile void *addr)
> +static inline uint32_t ioread32(volatile void *addr)
>  {
> -	return *(volatile u_int32_t *)addr;
> +	return *(volatile uint32_t *)addr;
>  }
>  
> -static inline u16 ioread16(volatile void *addr)
> +static inline uint16_t ioread16(volatile void *addr)
>  {
> -	return *(volatile u16 *)addr;
> +	return *(volatile uint16_t *)addr;
>  }
>  
> -static inline u_int8_t ioread8(volatile void *addr)
> +static inline uint8_t ioread8(volatile void *addr)
>  {
> -	return *(volatile u_int8_t *)addr;
> +	return *(volatile uint8_t *)addr;
>  }
>  
> -static inline void iowrite32(u_int32_t val, volatile void *addr)
> +static inline void iowrite32(uint32_t val, volatile void *addr)
>  {
> -	*(volatile u_int32_t *)addr = val;
> +	*(volatile uint32_t *)addr = val;
>  }
>  
> -static inline void iowrite16(u16 val, volatile void *addr)
> +static inline void iowrite16(uint16_t val, volatile void *addr)
>  {
> -	*(volatile u16 *)addr = val;
> +	*(volatile uint16_t *)addr = val;
>  }
>  
> -static inline void iowrite8(u_int8_t val, volatile void *addr)
> +static inline void iowrite8(uint8_t val, volatile void *addr)
>  {
> -	*(volatile u_int8_t *)addr = val;
> +	*(volatile uint8_t *)addr = val;
>  }
>  
>  static inline unsigned int readl(volatile void __iomem *addr)
> diff --git a/lib/librte_pmd_enic/enic_main.c b/lib/librte_pmd_enic/enic_main.c
> index f6f00d3..853dd04 100644
> --- a/lib/librte_pmd_enic/enic_main.c
> +++ b/lib/librte_pmd_enic/enic_main.c
> @@ -172,17 +172,17 @@ unsigned int enic_cleanup_wq(struct enic *enic, struct vnic_wq *wq)
>  
>  int enic_send_pkt(struct enic *enic, struct vnic_wq *wq,
>  	struct rte_mbuf *tx_pkt, unsigned short len,
> -	u_int8_t sop, u_int8_t eop,
> -	u_int16_t ol_flags, u_int16_t vlan_tag)
> +	uint8_t sop, uint8_t eop,
> +	uint16_t ol_flags, uint16_t vlan_tag)
>  {
>  	struct wq_enet_desc *desc = vnic_wq_next_desc(wq);
> -	u_int16_t mss = 0;
> -	u_int16_t header_length = 0;
> -	u_int8_t cq_entry = eop;
> -	u_int8_t vlan_tag_insert = 0;
> +	uint16_t mss = 0;
> +	uint16_t header_length = 0;
> +	uint8_t cq_entry = eop;
> +	uint8_t vlan_tag_insert = 0;
>  	unsigned char *buf = (unsigned char *)(tx_pkt->buf_addr) +
>  	    RTE_PKTMBUF_HEADROOM;
> -	u_int64_t bus_addr = (dma_addr_t)
> +	uint64_t bus_addr = (dma_addr_t)
>  	    (tx_pkt->buf_physaddr + RTE_PKTMBUF_HEADROOM);
>  
>  	if (sop) {
> @@ -342,8 +342,8 @@ static int enic_rq_alloc_buf(struct vnic_rq *rq)
>  	void *buf;
>  	dma_addr_t dma_addr;
>  	struct rq_enet_desc *desc = vnic_rq_next_desc(rq);
> -	u_int8_t type = RQ_ENET_TYPE_ONLY_SOP;
> -	u_int16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
> +	uint8_t type = RQ_ENET_TYPE_ONLY_SOP;
> +	uint16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
>  	u16 split_hdr_size = vnic_get_hdr_split_size(enic->vdev);
>  	struct rte_mbuf *mbuf = enic_rxmbuf_alloc(rq->mp);
>  	struct rte_mbuf *hdr_mbuf = NULL;
> diff --git a/lib/librte_pmd_enic/vnic/vnic_devcmd.h b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> index b4c87c1..e7ecf31 100644
> --- a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> +++ b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
> @@ -691,9 +691,9 @@ enum {
>  #define FILTER_MAX_BUF_SIZE 100  /* Maximum size of buffer to CMD_ADD_FILTER */
>  
>  struct filter_tlv {
> -	u_int32_t type;
> -	u_int32_t length;
> -	u_int32_t val[0];
> +	uint32_t type;
> +	uint32_t length;
> +	uint32_t val[0];
>  };
>  
>  enum {
> -- 
> 1.9.1
>
  
Thomas Monjalon Nov. 28, 2014, 4 p.m. UTC | #7
> > ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc because
> > of types such as u_int32_t.  This patch replaces all those with uint32_t and
> > similar ones.
> > 
> > Reported-by: David Marchand <david.marchand@6wind.com>
> > Signed-off-by: Sujith Sankar <ssujith@cisco.com>
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> 
> This patch helps out with getting a clang compile on BSD. However, one error
> and a number of warnings remain that should be looked at in another patch.

Applied

Thanks
  
Sujith Sankar Nov. 28, 2014, 4:01 p.m. UTC | #8
On 28/11/14 9:22 pm, "Bruce Richardson" <bruce.richardson@intel.com> wrote:

>On Fri, Nov 28, 2014 at 03:08:19PM +0530, Sujith Sankar wrote:
>> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc
>>because
>> of types such as u_int32_t.  This patch replaces all those with
>>uint32_t and
>> similar ones.
>> 
>> Reported-by: David Marchand <david.marchand@6wind.com>
>> Signed-off-by: Sujith Sankar <ssujith@cisco.com>
>
>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
>This patch helps out with getting a clang compile on BSD. However, one
>error
>and a number of warnings remain that should be looked at in another patch.
>The error is:
>
>dpdk.org/lib/librte_pmd_enic/enic_main.c:435:3: fatal error: non-void
>function 'enic_rq_indicate_buf' should return a value [-Wreturn-type]
>                return;

Bruce, thanks for the comment.  I¹ve not built enicpmd using clang
compiler.
I shall setup a BSD build with clang compiler and send a patch with
necessary fixes.
Could you please let me know the versions and flavours that you are using?

Thanks,
-Sujith

>
>> ---
>>  lib/librte_pmd_enic/enic.h             |  2 +-
>>  lib/librte_pmd_enic/enic_compat.h      | 24 ++++++++++++------------
>>  lib/librte_pmd_enic/enic_main.c        | 18 +++++++++---------
>>  lib/librte_pmd_enic/vnic/vnic_devcmd.h |  6 +++---
>>  4 files changed, 25 insertions(+), 25 deletions(-)
>> 
>> diff --git a/lib/librte_pmd_enic/enic.h b/lib/librte_pmd_enic/enic.h
>> index 9f80fc0..6400d24 100644
>> --- a/lib/librte_pmd_enic/enic.h
>> +++ b/lib/librte_pmd_enic/enic.h
>> @@ -106,7 +106,7 @@ struct enic {
>>  	int iommu_group_fd;
>>  	int iommu_groupid;
>>  	int eventfd;
>> -	u_int8_t mac_addr[ETH_ALEN];
>> +	uint8_t mac_addr[ETH_ALEN];
>>  	pthread_t err_intr_thread;
>>  	int promisc;
>>  	int allmulti;
>> diff --git a/lib/librte_pmd_enic/enic_compat.h
>>b/lib/librte_pmd_enic/enic_compat.h
>> index d22578e..b3738ee 100644
>> --- a/lib/librte_pmd_enic/enic_compat.h
>> +++ b/lib/librte_pmd_enic/enic_compat.h
>> @@ -89,34 +89,34 @@ typedef		unsigned int        u32;
>>  typedef         unsigned long long  u64;
>>  typedef         unsigned long long  dma_addr_t;
>>  
>> -static inline u_int32_t ioread32(volatile void *addr)
>> +static inline uint32_t ioread32(volatile void *addr)
>>  {
>> -	return *(volatile u_int32_t *)addr;
>> +	return *(volatile uint32_t *)addr;
>>  }
>>  
>> -static inline u16 ioread16(volatile void *addr)
>> +static inline uint16_t ioread16(volatile void *addr)
>>  {
>> -	return *(volatile u16 *)addr;
>> +	return *(volatile uint16_t *)addr;
>>  }
>>  
>> -static inline u_int8_t ioread8(volatile void *addr)
>> +static inline uint8_t ioread8(volatile void *addr)
>>  {
>> -	return *(volatile u_int8_t *)addr;
>> +	return *(volatile uint8_t *)addr;
>>  }
>>  
>> -static inline void iowrite32(u_int32_t val, volatile void *addr)
>> +static inline void iowrite32(uint32_t val, volatile void *addr)
>>  {
>> -	*(volatile u_int32_t *)addr = val;
>> +	*(volatile uint32_t *)addr = val;
>>  }
>>  
>> -static inline void iowrite16(u16 val, volatile void *addr)
>> +static inline void iowrite16(uint16_t val, volatile void *addr)
>>  {
>> -	*(volatile u16 *)addr = val;
>> +	*(volatile uint16_t *)addr = val;
>>  }
>>  
>> -static inline void iowrite8(u_int8_t val, volatile void *addr)
>> +static inline void iowrite8(uint8_t val, volatile void *addr)
>>  {
>> -	*(volatile u_int8_t *)addr = val;
>> +	*(volatile uint8_t *)addr = val;
>>  }
>>  
>>  static inline unsigned int readl(volatile void __iomem *addr)
>> diff --git a/lib/librte_pmd_enic/enic_main.c
>>b/lib/librte_pmd_enic/enic_main.c
>> index f6f00d3..853dd04 100644
>> --- a/lib/librte_pmd_enic/enic_main.c
>> +++ b/lib/librte_pmd_enic/enic_main.c
>> @@ -172,17 +172,17 @@ unsigned int enic_cleanup_wq(struct enic *enic,
>>struct vnic_wq *wq)
>>  
>>  int enic_send_pkt(struct enic *enic, struct vnic_wq *wq,
>>  	struct rte_mbuf *tx_pkt, unsigned short len,
>> -	u_int8_t sop, u_int8_t eop,
>> -	u_int16_t ol_flags, u_int16_t vlan_tag)
>> +	uint8_t sop, uint8_t eop,
>> +	uint16_t ol_flags, uint16_t vlan_tag)
>>  {
>>  	struct wq_enet_desc *desc = vnic_wq_next_desc(wq);
>> -	u_int16_t mss = 0;
>> -	u_int16_t header_length = 0;
>> -	u_int8_t cq_entry = eop;
>> -	u_int8_t vlan_tag_insert = 0;
>> +	uint16_t mss = 0;
>> +	uint16_t header_length = 0;
>> +	uint8_t cq_entry = eop;
>> +	uint8_t vlan_tag_insert = 0;
>>  	unsigned char *buf = (unsigned char *)(tx_pkt->buf_addr) +
>>  	    RTE_PKTMBUF_HEADROOM;
>> -	u_int64_t bus_addr = (dma_addr_t)
>> +	uint64_t bus_addr = (dma_addr_t)
>>  	    (tx_pkt->buf_physaddr + RTE_PKTMBUF_HEADROOM);
>>  
>>  	if (sop) {
>> @@ -342,8 +342,8 @@ static int enic_rq_alloc_buf(struct vnic_rq *rq)
>>  	void *buf;
>>  	dma_addr_t dma_addr;
>>  	struct rq_enet_desc *desc = vnic_rq_next_desc(rq);
>> -	u_int8_t type = RQ_ENET_TYPE_ONLY_SOP;
>> -	u_int16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
>> +	uint8_t type = RQ_ENET_TYPE_ONLY_SOP;
>> +	uint16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
>>  	u16 split_hdr_size = vnic_get_hdr_split_size(enic->vdev);
>>  	struct rte_mbuf *mbuf = enic_rxmbuf_alloc(rq->mp);
>>  	struct rte_mbuf *hdr_mbuf = NULL;
>> diff --git a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>>b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>> index b4c87c1..e7ecf31 100644
>> --- a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>> +++ b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>> @@ -691,9 +691,9 @@ enum {
>>  #define FILTER_MAX_BUF_SIZE 100  /* Maximum size of buffer to
>>CMD_ADD_FILTER */
>>  
>>  struct filter_tlv {
>> -	u_int32_t type;
>> -	u_int32_t length;
>> -	u_int32_t val[0];
>> +	uint32_t type;
>> +	uint32_t length;
>> +	uint32_t val[0];
>>  };
>>  
>>  enum {
>> -- 
>> 1.9.1
>>
  
Bruce Richardson Nov. 28, 2014, 4:06 p.m. UTC | #9
On Fri, Nov 28, 2014 at 04:01:00PM +0000, Sujith Sankar (ssujith) wrote:
> 
> 
> On 28/11/14 9:22 pm, "Bruce Richardson" <bruce.richardson@intel.com> wrote:
> 
> >On Fri, Nov 28, 2014 at 03:08:19PM +0530, Sujith Sankar wrote:
> >> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc
> >>because
> >> of types such as u_int32_t.  This patch replaces all those with
> >>uint32_t and
> >> similar ones.
> >> 
> >> Reported-by: David Marchand <david.marchand@6wind.com>
> >> Signed-off-by: Sujith Sankar <ssujith@cisco.com>
> >
> >Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> >
> >This patch helps out with getting a clang compile on BSD. However, one
> >error
> >and a number of warnings remain that should be looked at in another patch.
> >The error is:
> >
> >dpdk.org/lib/librte_pmd_enic/enic_main.c:435:3: fatal error: non-void
> >function 'enic_rq_indicate_buf' should return a value [-Wreturn-type]
> >                return;
> 
> Bruce, thanks for the comment.  I¹ve not built enicpmd using clang
> compiler.
> I shall setup a BSD build with clang compiler and send a patch with
> necessary fixes.
> Could you please let me know the versions and flavours that you are using?
> 
> Thanks,
> -Sujith
>
Clang on a linux install gives the same errors, as far as I can see. What
I'm using is clang 3.4 on Fedora 20, and clang 3.3 on FreeBSD 10. 

If you like, if you just fix clang on Linux compilation, I can check for any
additional errors on FreeBSD and get back to you on them, rather than you having
to install a FreeBSD system right away.

/Bruce
  
Sujith Sankar Nov. 28, 2014, 4:16 p.m. UTC | #10
On 28/11/14 9:36 pm, "Bruce Richardson" <bruce.richardson@intel.com> wrote:

>On Fri, Nov 28, 2014 at 04:01:00PM +0000, Sujith Sankar (ssujith) wrote:

>> 

>> 

>> On 28/11/14 9:22 pm, "Bruce Richardson" <bruce.richardson@intel.com>

>>wrote:

>> 

>> >On Fri, Nov 28, 2014 at 03:08:19PM +0530, Sujith Sankar wrote:

>> >> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc

>> >>because

>> >> of types such as u_int32_t.  This patch replaces all those with

>> >>uint32_t and

>> >> similar ones.

>> >> 

>> >> Reported-by: David Marchand <david.marchand@6wind.com>

>> >> Signed-off-by: Sujith Sankar <ssujith@cisco.com>

>> >

>> >Acked-by: Bruce Richardson <bruce.richardson@intel.com>

>> >

>> >This patch helps out with getting a clang compile on BSD. However, one

>> >error

>> >and a number of warnings remain that should be looked at in another

>>patch.

>> >The error is:

>> >

>> >dpdk.org/lib/librte_pmd_enic/enic_main.c:435:3: fatal error: non-void

>> >function 'enic_rq_indicate_buf' should return a value [-Wreturn-type]

>> >                return;

>> 

>> Bruce, thanks for the comment.  I¹ve not built enicpmd using clang

>> compiler.

>> I shall setup a BSD build with clang compiler and send a patch with

>> necessary fixes.

>> Could you please let me know the versions and flavours that you are

>>using?

>> 

>> Thanks,

>> -Sujith

>>

>Clang on a linux install gives the same errors, as far as I can see. What

>I'm using is clang 3.4 on Fedora 20, and clang 3.3 on FreeBSD 10.

>

>If you like, if you just fix clang on Linux compilation, I can check for

>any

>additional errors on FreeBSD and get back to you on them, rather than you

>having

>to install a FreeBSD system right away.


Thank you Bruce.
I shall start with Clang on Linux and send the patch soon.

>

>/Bruce
  

Patch

diff --git a/lib/librte_pmd_enic/enic.h b/lib/librte_pmd_enic/enic.h
index 9f80fc0..6400d24 100644
--- a/lib/librte_pmd_enic/enic.h
+++ b/lib/librte_pmd_enic/enic.h
@@ -106,7 +106,7 @@  struct enic {
 	int iommu_group_fd;
 	int iommu_groupid;
 	int eventfd;
-	u_int8_t mac_addr[ETH_ALEN];
+	uint8_t mac_addr[ETH_ALEN];
 	pthread_t err_intr_thread;
 	int promisc;
 	int allmulti;
diff --git a/lib/librte_pmd_enic/enic_compat.h b/lib/librte_pmd_enic/enic_compat.h
index d22578e..b3738ee 100644
--- a/lib/librte_pmd_enic/enic_compat.h
+++ b/lib/librte_pmd_enic/enic_compat.h
@@ -89,34 +89,34 @@  typedef		unsigned int        u32;
 typedef         unsigned long long  u64;
 typedef         unsigned long long  dma_addr_t;
 
-static inline u_int32_t ioread32(volatile void *addr)
+static inline uint32_t ioread32(volatile void *addr)
 {
-	return *(volatile u_int32_t *)addr;
+	return *(volatile uint32_t *)addr;
 }
 
-static inline u16 ioread16(volatile void *addr)
+static inline uint16_t ioread16(volatile void *addr)
 {
-	return *(volatile u16 *)addr;
+	return *(volatile uint16_t *)addr;
 }
 
-static inline u_int8_t ioread8(volatile void *addr)
+static inline uint8_t ioread8(volatile void *addr)
 {
-	return *(volatile u_int8_t *)addr;
+	return *(volatile uint8_t *)addr;
 }
 
-static inline void iowrite32(u_int32_t val, volatile void *addr)
+static inline void iowrite32(uint32_t val, volatile void *addr)
 {
-	*(volatile u_int32_t *)addr = val;
+	*(volatile uint32_t *)addr = val;
 }
 
-static inline void iowrite16(u16 val, volatile void *addr)
+static inline void iowrite16(uint16_t val, volatile void *addr)
 {
-	*(volatile u16 *)addr = val;
+	*(volatile uint16_t *)addr = val;
 }
 
-static inline void iowrite8(u_int8_t val, volatile void *addr)
+static inline void iowrite8(uint8_t val, volatile void *addr)
 {
-	*(volatile u_int8_t *)addr = val;
+	*(volatile uint8_t *)addr = val;
 }
 
 static inline unsigned int readl(volatile void __iomem *addr)
diff --git a/lib/librte_pmd_enic/enic_main.c b/lib/librte_pmd_enic/enic_main.c
index f6f00d3..853dd04 100644
--- a/lib/librte_pmd_enic/enic_main.c
+++ b/lib/librte_pmd_enic/enic_main.c
@@ -172,17 +172,17 @@  unsigned int enic_cleanup_wq(struct enic *enic, struct vnic_wq *wq)
 
 int enic_send_pkt(struct enic *enic, struct vnic_wq *wq,
 	struct rte_mbuf *tx_pkt, unsigned short len,
-	u_int8_t sop, u_int8_t eop,
-	u_int16_t ol_flags, u_int16_t vlan_tag)
+	uint8_t sop, uint8_t eop,
+	uint16_t ol_flags, uint16_t vlan_tag)
 {
 	struct wq_enet_desc *desc = vnic_wq_next_desc(wq);
-	u_int16_t mss = 0;
-	u_int16_t header_length = 0;
-	u_int8_t cq_entry = eop;
-	u_int8_t vlan_tag_insert = 0;
+	uint16_t mss = 0;
+	uint16_t header_length = 0;
+	uint8_t cq_entry = eop;
+	uint8_t vlan_tag_insert = 0;
 	unsigned char *buf = (unsigned char *)(tx_pkt->buf_addr) +
 	    RTE_PKTMBUF_HEADROOM;
-	u_int64_t bus_addr = (dma_addr_t)
+	uint64_t bus_addr = (dma_addr_t)
 	    (tx_pkt->buf_physaddr + RTE_PKTMBUF_HEADROOM);
 
 	if (sop) {
@@ -342,8 +342,8 @@  static int enic_rq_alloc_buf(struct vnic_rq *rq)
 	void *buf;
 	dma_addr_t dma_addr;
 	struct rq_enet_desc *desc = vnic_rq_next_desc(rq);
-	u_int8_t type = RQ_ENET_TYPE_ONLY_SOP;
-	u_int16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
+	uint8_t type = RQ_ENET_TYPE_ONLY_SOP;
+	uint16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
 	u16 split_hdr_size = vnic_get_hdr_split_size(enic->vdev);
 	struct rte_mbuf *mbuf = enic_rxmbuf_alloc(rq->mp);
 	struct rte_mbuf *hdr_mbuf = NULL;
diff --git a/lib/librte_pmd_enic/vnic/vnic_devcmd.h b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
index b4c87c1..e7ecf31 100644
--- a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
+++ b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
@@ -691,9 +691,9 @@  enum {
 #define FILTER_MAX_BUF_SIZE 100  /* Maximum size of buffer to CMD_ADD_FILTER */
 
 struct filter_tlv {
-	u_int32_t type;
-	u_int32_t length;
-	u_int32_t val[0];
+	uint32_t type;
+	uint32_t length;
+	uint32_t val[0];
 };
 
 enum {