DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
@ 2014-09-30  2:49 Jingjing Wu
  2014-09-30  5:07 ` Thomas Monjalon
  2014-09-30 13:09 ` Neil Horman
  0 siblings, 2 replies; 12+ messages in thread
From: Jingjing Wu @ 2014-09-30  2:49 UTC (permalink / raw)
  To: dev

Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>.
If user's application includes <netinet/in.h> and rte_ip.h at the same time,
there will be conflict error.

This patch uses the way "#ifndef #endif" to avoid the conflict. 

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 lib/librte_net/rte_ip.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index e3f65c1..2bcb479 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -116,6 +116,8 @@ struct ipv4_hdr {
 
 #define	IPV4_HDR_OFFSET_UNITS	8
 
+#ifndef _NETINET_IN_H
+#ifndef _NETINET_IN_H_
 /* IPv4 protocols */
 #define IPPROTO_IP         0  /**< dummy for IP */
 #define IPPROTO_HOPOPTS    0  /**< IP6 hop-by-hop options */
@@ -227,6 +229,9 @@ struct ipv4_hdr {
 #define IPPROTO_RAW      255  /**< raw IP packet */
 #define IPPROTO_MAX      256  /**< maximum protocol number */
 
+#endif /*_NETINET_IN_H_*/
+#endif /*_NETINET_IN_H*/
+
 /*
  * IPv4 address types
  */
-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-09-30  2:49 [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict Jingjing Wu
@ 2014-09-30  5:07 ` Thomas Monjalon
  2014-10-09  5:17   ` Wu, Jingjing
  2014-09-30 13:09 ` Neil Horman
  1 sibling, 1 reply; 12+ messages in thread
From: Thomas Monjalon @ 2014-09-30  5:07 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: dev

Hi Jingjing,

2014-09-30 10:49, Jingjing Wu:
> Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>.
> If user's application includes <netinet/in.h> and rte_ip.h at the same time,
> there will be conflict error.
> 
> This patch uses the way "#ifndef #endif" to avoid the conflict. 

I still think it is not the good approach.
	see http://dpdk.org/ml/archives/dev/2014-August/005006.html
	and http://dpdk.org/ml/archives/dev/2014-August/005026.html
Why not simply remove these definitions?

-- 
Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-09-30  2:49 [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict Jingjing Wu
  2014-09-30  5:07 ` Thomas Monjalon
@ 2014-09-30 13:09 ` Neil Horman
  2014-10-09  5:20   ` Wu, Jingjing
  1 sibling, 1 reply; 12+ messages in thread
From: Neil Horman @ 2014-09-30 13:09 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: dev

On Tue, Sep 30, 2014 at 10:49:08AM +0800, Jingjing Wu wrote:
> Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>.
> If user's application includes <netinet/in.h> and rte_ip.h at the same time,
> there will be conflict error.
> 
> This patch uses the way "#ifndef #endif" to avoid the conflict. 
> 
> Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
> ---
>  lib/librte_net/rte_ip.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
> index e3f65c1..2bcb479 100644
> --- a/lib/librte_net/rte_ip.h
> +++ b/lib/librte_net/rte_ip.h
> @@ -116,6 +116,8 @@ struct ipv4_hdr {
>  
>  #define	IPV4_HDR_OFFSET_UNITS	8
>  
> +#ifndef _NETINET_IN_H
> +#ifndef _NETINET_IN_H_
>  /* IPv4 protocols */
>  #define IPPROTO_IP         0  /**< dummy for IP */
>  #define IPPROTO_HOPOPTS    0  /**< IP6 hop-by-hop options */
> @@ -227,6 +229,9 @@ struct ipv4_hdr {
>  #define IPPROTO_RAW      255  /**< raw IP packet */
>  #define IPPROTO_MAX      256  /**< maximum protocol number */
>  
> +#endif /*_NETINET_IN_H_*/
> +#endif /*_NETINET_IN_H*/
> +
>  /*
>   * IPv4 address types
>   */
> -- 
> 1.8.1.4
> 
> 
Why define them at all?  Why not just have rte_ip.h include netinet/in.h
directly?  Its a standard include file in a standard location for both bsd and
linux IIRC.
Neil

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-09-30  5:07 ` Thomas Monjalon
@ 2014-10-09  5:17   ` Wu, Jingjing
  0 siblings, 0 replies; 12+ messages in thread
From: Wu, Jingjing @ 2014-10-09  5:17 UTC (permalink / raw)
  To: 'Thomas Monjalon'; +Cc: dev

Hi, Thomas

The reason why I didn't remover all the macros in rte_ip.h is:

netinet/in.h contains a lot of extra references to the sockets definitions, some external functions declarations, etc. These are useless some DPDK applications, such as classification.
rte_ip.h provides a more simplify way for the IP protocol layer. 

> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Tuesday, September 30, 2014 1:08 PM
> To: Wu, Jingjing
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
> 
> Hi Jingjing,
> 
> 2014-09-30 10:49, Jingjing Wu:
> > Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>.
> > If user's application includes <netinet/in.h> and rte_ip.h at the same time,
> > there will be conflict error.
> >
> > This patch uses the way "#ifndef #endif" to avoid the conflict.
> 
> I still think it is not the good approach.
> 	see http://dpdk.org/ml/archives/dev/2014-August/005006.html
> 	and http://dpdk.org/ml/archives/dev/2014-August/005026.html
> Why not simply remove these definitions?
> 
> --
> Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-09-30 13:09 ` Neil Horman
@ 2014-10-09  5:20   ` Wu, Jingjing
  2014-10-09  5:37     ` Matthew Hall
  2014-10-09 11:29     ` Neil Horman
  0 siblings, 2 replies; 12+ messages in thread
From: Wu, Jingjing @ 2014-10-09  5:20 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

Hi, Neil

To have rte_ip.h include netinet/in.h directly is also a choice.

But netinet/in.h contains a lot of extra stuff, and these may be useless some DPDK applications, such as classification.
rte_ip.h provides a more simplify way for the IP protocol layer.

-----Original Message-----
From: Neil Horman [mailto:nhorman@tuxdriver.com] 
Sent: Tuesday, September 30, 2014 9:10 PM
To: Wu, Jingjing
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict

On Tue, Sep 30, 2014 at 10:49:08AM +0800, Jingjing Wu wrote:
> Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>.
> If user's application includes <netinet/in.h> and rte_ip.h at the same 
> time, there will be conflict error.
> 
> This patch uses the way "#ifndef #endif" to avoid the conflict. 
> 
> Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
> ---
>  lib/librte_net/rte_ip.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h index 
> e3f65c1..2bcb479 100644
> --- a/lib/librte_net/rte_ip.h
> +++ b/lib/librte_net/rte_ip.h
> @@ -116,6 +116,8 @@ struct ipv4_hdr {
>  
>  #define	IPV4_HDR_OFFSET_UNITS	8
>  
> +#ifndef _NETINET_IN_H
> +#ifndef _NETINET_IN_H_
>  /* IPv4 protocols */
>  #define IPPROTO_IP         0  /**< dummy for IP */
>  #define IPPROTO_HOPOPTS    0  /**< IP6 hop-by-hop options */
> @@ -227,6 +229,9 @@ struct ipv4_hdr {
>  #define IPPROTO_RAW      255  /**< raw IP packet */
>  #define IPPROTO_MAX      256  /**< maximum protocol number */
>  
> +#endif /*_NETINET_IN_H_*/
> +#endif /*_NETINET_IN_H*/
> +
>  /*
>   * IPv4 address types
>   */
> --
> 1.8.1.4
> 
> 
Why define them at all?  Why not just have rte_ip.h include netinet/in.h directly?  Its a standard include file in a standard location for both bsd and linux IIRC.
Neil

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-10-09  5:20   ` Wu, Jingjing
@ 2014-10-09  5:37     ` Matthew Hall
  2014-10-09 11:29     ` Neil Horman
  1 sibling, 0 replies; 12+ messages in thread
From: Matthew Hall @ 2014-10-09  5:37 UTC (permalink / raw)
  To: Wu, Jingjing, Neil Horman; +Cc: dev

If the DPDK wants to conflict with all those system headers it means they also have to provide working replacement for inet_pton, inet_ntop, and every other important socket function which depends upon in.h or depends upon code depending upon in.h. Clearly this doesn't represent a sustainable path for software development... I had to reimplement a number of these in my app to get around the header conflict and I'm sure I'm not the only one who ran into this issue either.

Matthew.
-- 
Sent from my mobile device.

On October 8, 2014 10:20:31 PM PDT, "Wu, Jingjing" <jingjing.wu@intel.com> wrote:
>Hi, Neil
>
>To have rte_ip.h include netinet/in.h directly is also a choice.
>
>But netinet/in.h contains a lot of extra stuff, and these may be
>useless some DPDK applications, such as classification.
>rte_ip.h provides a more simplify way for the IP protocol layer.
>
>-----Original Message-----
>From: Neil Horman [mailto:nhorman@tuxdriver.com] 
>Sent: Tuesday, September 30, 2014 9:10 PM
>To: Wu, Jingjing
>Cc: dev@dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid
>macro conflict
>
>On Tue, Sep 30, 2014 at 10:49:08AM +0800, Jingjing Wu wrote:
>> Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in
><netinet/in.h>.
>> If user's application includes <netinet/in.h> and rte_ip.h at the
>same 
>> time, there will be conflict error.
>> 
>> This patch uses the way "#ifndef #endif" to avoid the conflict. 
>> 
>> Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
>> ---
>>  lib/librte_net/rte_ip.h | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h index 
>> e3f65c1..2bcb479 100644
>> --- a/lib/librte_net/rte_ip.h
>> +++ b/lib/librte_net/rte_ip.h
>> @@ -116,6 +116,8 @@ struct ipv4_hdr {
>>  
>>  #define	IPV4_HDR_OFFSET_UNITS	8
>>  
>> +#ifndef _NETINET_IN_H
>> +#ifndef _NETINET_IN_H_
>>  /* IPv4 protocols */
>>  #define IPPROTO_IP         0  /**< dummy for IP */
>>  #define IPPROTO_HOPOPTS    0  /**< IP6 hop-by-hop options */
>> @@ -227,6 +229,9 @@ struct ipv4_hdr {
>>  #define IPPROTO_RAW      255  /**< raw IP packet */
>>  #define IPPROTO_MAX      256  /**< maximum protocol number */
>>  
>> +#endif /*_NETINET_IN_H_*/
>> +#endif /*_NETINET_IN_H*/
>> +
>>  /*
>>   * IPv4 address types
>>   */
>> --
>> 1.8.1.4
>> 
>> 
>Why define them at all?  Why not just have rte_ip.h include
>netinet/in.h directly?  Its a standard include file in a standard
>location for both bsd and linux IIRC.
>Neil

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-10-09  5:20   ` Wu, Jingjing
  2014-10-09  5:37     ` Matthew Hall
@ 2014-10-09 11:29     ` Neil Horman
  2014-11-03  7:41       ` Thomas Monjalon
  1 sibling, 1 reply; 12+ messages in thread
From: Neil Horman @ 2014-10-09 11:29 UTC (permalink / raw)
  To: Wu, Jingjing; +Cc: dev

On Thu, Oct 09, 2014 at 05:20:31AM +0000, Wu, Jingjing wrote:
> Hi, Neil
> 
> To have rte_ip.h include netinet/in.h directly is also a choice.
> 
> But netinet/in.h contains a lot of extra stuff, and these may be useless some DPDK applications, such as classification.
> rte_ip.h provides a more simplify way for the IP protocol layer.
> 
Not sure what the relevance there is.  The definitions you want are
standardized, theres no need for the dpdk to re-invent that wheel.  Get them
from the system include file.  The fact that extra macros are available in
netinet.h is neither relevant or true (as you can't really say for certain what
an application will need).

Neil

> -----Original Message-----
> From: Neil Horman [mailto:nhorman@tuxdriver.com] 
> Sent: Tuesday, September 30, 2014 9:10 PM
> To: Wu, Jingjing
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
> 
> On Tue, Sep 30, 2014 at 10:49:08AM +0800, Jingjing Wu wrote:
> > Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>.
> > If user's application includes <netinet/in.h> and rte_ip.h at the same 
> > time, there will be conflict error.
> > 
> > This patch uses the way "#ifndef #endif" to avoid the conflict. 
> > 
> > Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
> > ---
> >  lib/librte_net/rte_ip.h | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h index 
> > e3f65c1..2bcb479 100644
> > --- a/lib/librte_net/rte_ip.h
> > +++ b/lib/librte_net/rte_ip.h
> > @@ -116,6 +116,8 @@ struct ipv4_hdr {
> >  
> >  #define	IPV4_HDR_OFFSET_UNITS	8
> >  
> > +#ifndef _NETINET_IN_H
> > +#ifndef _NETINET_IN_H_
> >  /* IPv4 protocols */
> >  #define IPPROTO_IP         0  /**< dummy for IP */
> >  #define IPPROTO_HOPOPTS    0  /**< IP6 hop-by-hop options */
> > @@ -227,6 +229,9 @@ struct ipv4_hdr {
> >  #define IPPROTO_RAW      255  /**< raw IP packet */
> >  #define IPPROTO_MAX      256  /**< maximum protocol number */
> >  
> > +#endif /*_NETINET_IN_H_*/
> > +#endif /*_NETINET_IN_H*/
> > +
> >  /*
> >   * IPv4 address types
> >   */
> > --
> > 1.8.1.4
> > 
> > 
> Why define them at all?  Why not just have rte_ip.h include netinet/in.h directly?  Its a standard include file in a standard location for both bsd and linux IIRC.
> Neil
> 
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-10-09 11:29     ` Neil Horman
@ 2014-11-03  7:41       ` Thomas Monjalon
  2014-11-17 14:17         ` Neil Horman
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Monjalon @ 2014-11-03  7:41 UTC (permalink / raw)
  To: Neil Horman, Matthew Hall; +Cc: dev

2014-10-09 07:29, Neil Horman:
> On Thu, Oct 09, 2014 at 05:20:31AM +0000, Wu, Jingjing wrote:
> > Hi, Neil
> > 
> > To have rte_ip.h include netinet/in.h directly is also a choice.
> > 
> > But netinet/in.h contains a lot of extra stuff, and these may be useless some DPDK applications, such as classification.
> > rte_ip.h provides a more simplify way for the IP protocol layer.
> > 
> Not sure what the relevance there is.  The definitions you want are
> standardized, theres no need for the dpdk to re-invent that wheel.  Get them
> from the system include file.  The fact that extra macros are available in
> netinet.h is neither relevant or true (as you can't really say for certain what
> an application will need).

Neil, Matthew,

I totally agree with your point of view.
Please, could you propose a patch to fix this issue?

Thanks
-- 
Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
  2014-11-03  7:41       ` Thomas Monjalon
@ 2014-11-17 14:17         ` Neil Horman
  2014-11-27 11:48           ` [dpdk-dev] [PATCH] net: fix conflict with libc Thomas Monjalon
  0 siblings, 1 reply; 12+ messages in thread
From: Neil Horman @ 2014-11-17 14:17 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Mon, Nov 03, 2014 at 08:41:53AM +0100, Thomas Monjalon wrote:
> 2014-10-09 07:29, Neil Horman:
> > On Thu, Oct 09, 2014 at 05:20:31AM +0000, Wu, Jingjing wrote:
> > > Hi, Neil
> > > 
> > > To have rte_ip.h include netinet/in.h directly is also a choice.
> > > 
> > > But netinet/in.h contains a lot of extra stuff, and these may be useless some DPDK applications, such as classification.
> > > rte_ip.h provides a more simplify way for the IP protocol layer.
> > > 
> > Not sure what the relevance there is.  The definitions you want are
> > standardized, theres no need for the dpdk to re-invent that wheel.  Get them
> > from the system include file.  The fact that extra macros are available in
> > netinet.h is neither relevant or true (as you can't really say for certain what
> > an application will need).
> 
> Neil, Matthew,
> 
> I totally agree with your point of view.
> Please, could you propose a patch to fix this issue?
> 
Matthew, can you handle this please, I've got too much going on right now.
Neil

> Thanks
> -- 
> Thomas
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [dpdk-dev] [PATCH] net: fix conflict with libc
  2014-11-17 14:17         ` Neil Horman
@ 2014-11-27 11:48           ` Thomas Monjalon
  2014-11-27 14:03             ` Ivan Boule
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Monjalon @ 2014-11-27 11:48 UTC (permalink / raw)
  To: dev

It was impossible to include netinet/in.h and rte_ip.h
because the IP protocols were redefined.
It is removed because useless.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 app/test-pmd/icmpecho.c |   4 ++
 lib/librte_net/rte_ip.h | 112 +-----------------------------------------------
 2 files changed, 5 insertions(+), 111 deletions(-)

diff --git a/app/test-pmd/icmpecho.c b/app/test-pmd/icmpecho.c
index 774924e..c25a54b 100644
--- a/app/test-pmd/icmpecho.c
+++ b/app/test-pmd/icmpecho.c
@@ -221,12 +221,16 @@ ip_proto_name(uint8_t ip_proto)
 	if (ip_proto < sizeof(ip_proto_names) / sizeof(ip_proto_names[0]))
 		return ip_proto_names[ip_proto];
 	switch (ip_proto) {
+#ifdef IPPROTO_PGM
 	case IPPROTO_PGM:  /**< PGM */
 		return "PGM";
+#endif
 	case IPPROTO_SCTP:  /**< Stream Control Transport Protocol */
 		return "SCTP";
+#ifdef IPPROTO_DIVERT
 	case IPPROTO_DIVERT: /**< divert pseudo-protocol */
 		return "DIVERT";
+#endif
 	case IPPROTO_RAW: /**< raw IP packet */
 		return "RAW";
 	default:
diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index 20c3ae1..61e4457 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -78,6 +78,7 @@
  */
 
 #include <stdint.h>
+#include <netinet/in.h>
 
 #include <rte_memcpy.h>
 #include <rte_byteorder.h>
@@ -121,117 +122,6 @@ struct ipv4_hdr {
 
 #define	IPV4_HDR_OFFSET_UNITS	8
 
-/* IPv4 protocols */
-#define IPPROTO_IP         0  /**< dummy for IP */
-#define IPPROTO_HOPOPTS    0  /**< IP6 hop-by-hop options */
-#define IPPROTO_ICMP       1  /**< control message protocol */
-#define IPPROTO_IGMP       2  /**< group mgmt protocol */
-#define IPPROTO_GGP        3  /**< gateway^2 (deprecated) */
-#define IPPROTO_IPV4       4  /**< IPv4 encapsulation */
-#define IPPROTO_TCP        6  /**< tcp */
-#define IPPROTO_ST         7  /**< Stream protocol II */
-#define IPPROTO_EGP        8  /**< exterior gateway protocol */
-#define IPPROTO_PIGP       9  /**< private interior gateway */
-#define IPPROTO_RCCMON    10  /**< BBN RCC Monitoring */
-#define IPPROTO_NVPII     11  /**< network voice protocol*/
-#define IPPROTO_PUP       12  /**< pup */
-#define IPPROTO_ARGUS     13  /**< Argus */
-#define IPPROTO_EMCON     14  /**< EMCON */
-#define IPPROTO_XNET      15  /**< Cross Net Debugger */
-#define IPPROTO_CHAOS     16  /**< Chaos*/
-#define IPPROTO_UDP       17  /**< user datagram protocol */
-#define IPPROTO_MUX       18  /**< Multiplexing */
-#define IPPROTO_MEAS      19  /**< DCN Measurement Subsystems */
-#define IPPROTO_HMP       20  /**< Host Monitoring */
-#define IPPROTO_PRM       21  /**< Packet Radio Measurement */
-#define IPPROTO_IDP       22  /**< xns idp */
-#define IPPROTO_TRUNK1    23  /**< Trunk-1 */
-#define IPPROTO_TRUNK2    24  /**< Trunk-2 */
-#define IPPROTO_LEAF1     25  /**< Leaf-1 */
-#define IPPROTO_LEAF2     26  /**< Leaf-2 */
-#define IPPROTO_RDP       27  /**< Reliable Data */
-#define IPPROTO_IRTP      28  /**< Reliable Transaction */
-#define IPPROTO_TP        29  /**< tp-4 w/ class negotiation */
-#define IPPROTO_BLT       30  /**< Bulk Data Transfer */
-#define IPPROTO_NSP       31  /**< Network Services */
-#define IPPROTO_INP       32  /**< Merit Internodal */
-#define IPPROTO_SEP       33  /**< Sequential Exchange */
-#define IPPROTO_3PC       34  /**< Third Party Connect */
-#define IPPROTO_IDPR      35  /**< InterDomain Policy Routing */
-#define IPPROTO_XTP       36  /**< XTP */
-#define IPPROTO_DDP       37  /**< Datagram Delivery */
-#define IPPROTO_CMTP      38  /**< Control Message Transport */
-#define IPPROTO_TPXX      39  /**< TP++ Transport */
-#define IPPROTO_IL        40  /**< IL transport protocol */
-#define IPPROTO_IPV6      41  /**< IP6 header */
-#define IPPROTO_SDRP      42  /**< Source Demand Routing */
-#define IPPROTO_ROUTING   43  /**< IP6 routing header */
-#define IPPROTO_FRAGMENT  44  /**< IP6 fragmentation header */
-#define IPPROTO_IDRP      45  /**< InterDomain Routing*/
-#define IPPROTO_RSVP      46  /**< resource reservation */
-#define IPPROTO_GRE       47  /**< General Routing Encap. */
-#define IPPROTO_MHRP      48  /**< Mobile Host Routing */
-#define IPPROTO_BHA       49  /**< BHA */
-#define IPPROTO_ESP       50  /**< IP6 Encap Sec. Payload */
-#define IPPROTO_AH        51  /**< IP6 Auth Header */
-#define IPPROTO_INLSP     52  /**< Integ. Net Layer Security */
-#define IPPROTO_SWIPE     53  /**< IP with encryption */
-#define IPPROTO_NHRP      54  /**< Next Hop Resolution */
-/* 55-57: Unassigned */
-#define IPPROTO_ICMPV6    58  /**< ICMP6 */
-#define IPPROTO_NONE      59  /**< IP6 no next header */
-#define IPPROTO_DSTOPTS   60  /**< IP6 destination option */
-#define IPPROTO_AHIP      61  /**< any host internal protocol */
-#define IPPROTO_CFTP      62  /**< CFTP */
-#define IPPROTO_HELLO     63  /**< "hello" routing protocol */
-#define IPPROTO_SATEXPAK  64  /**< SATNET/Backroom EXPAK */
-#define IPPROTO_KRYPTOLAN 65  /**< Kryptolan */
-#define IPPROTO_RVD       66  /**< Remote Virtual Disk */
-#define IPPROTO_IPPC      67  /**< Pluribus Packet Core */
-#define IPPROTO_ADFS      68  /**< Any distributed FS */
-#define IPPROTO_SATMON    69  /**< Satnet Monitoring */
-#define IPPROTO_VISA      70  /**< VISA Protocol */
-#define IPPROTO_IPCV      71  /**< Packet Core Utility */
-#define IPPROTO_CPNX      72  /**< Comp. Prot. Net. Executive */
-#define IPPROTO_CPHB      73  /**< Comp. Prot. HeartBeat */
-#define IPPROTO_WSN       74  /**< Wang Span Network */
-#define IPPROTO_PVP       75  /**< Packet Video Protocol */
-#define IPPROTO_BRSATMON  76  /**< BackRoom SATNET Monitoring */
-#define IPPROTO_ND        77  /**< Sun net disk proto (temp.) */
-#define IPPROTO_WBMON     78  /**< WIDEBAND Monitoring */
-#define IPPROTO_WBEXPAK   79  /**< WIDEBAND EXPAK */
-#define IPPROTO_EON       80  /**< ISO cnlp */
-#define IPPROTO_VMTP      81  /**< VMTP */
-#define IPPROTO_SVMTP     82  /**< Secure VMTP */
-#define IPPROTO_VINES     83  /**< Banyon VINES */
-#define IPPROTO_TTP       84  /**< TTP */
-#define IPPROTO_IGP       85  /**< NSFNET-IGP */
-#define IPPROTO_DGP       86  /**< dissimilar gateway prot. */
-#define IPPROTO_TCF       87  /**< TCF */
-#define IPPROTO_IGRP      88  /**< Cisco/GXS IGRP */
-#define IPPROTO_OSPFIGP   89  /**< OSPFIGP */
-#define IPPROTO_SRPC      90  /**< Strite RPC protocol */
-#define IPPROTO_LARP      91  /**< Locus Address Resoloution */
-#define IPPROTO_MTP       92  /**< Multicast Transport */
-#define IPPROTO_AX25      93  /**< AX.25 Frames */
-#define IPPROTO_IPEIP     94  /**< IP encapsulated in IP */
-#define IPPROTO_MICP      95  /**< Mobile Int.ing control */
-#define IPPROTO_SCCSP     96  /**< Semaphore Comm. security */
-#define IPPROTO_ETHERIP   97  /**< Ethernet IP encapsulation */
-#define IPPROTO_ENCAP     98  /**< encapsulation header */
-#define IPPROTO_APES      99  /**< any private encr. scheme */
-#define IPPROTO_GMTP     100  /**< GMTP */
-#define IPPROTO_IPCOMP   108  /**< payload compression (IPComp) */
-/* 101-254: Partly Unassigned */
-#define IPPROTO_PIM      103  /**< Protocol Independent Mcast */
-#define IPPROTO_PGM      113  /**< PGM */
-#define IPPROTO_SCTP     132  /**< Stream Control Transport Protocol */
-/* 255: Reserved */
-/* BSD Private, local use, namespace incursion */
-#define IPPROTO_DIVERT   254  /**< divert pseudo-protocol */
-#define IPPROTO_RAW      255  /**< raw IP packet */
-#define IPPROTO_MAX      256  /**< maximum protocol number */
-
 /*
  * IPv4 address types
  */
-- 
2.1.3

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] net: fix conflict with libc
  2014-11-27 11:48           ` [dpdk-dev] [PATCH] net: fix conflict with libc Thomas Monjalon
@ 2014-11-27 14:03             ` Ivan Boule
  2014-11-27 18:13               ` Thomas Monjalon
  0 siblings, 1 reply; 12+ messages in thread
From: Ivan Boule @ 2014-11-27 14:03 UTC (permalink / raw)
  To: Thomas Monjalon, dev

On 11/27/2014 12:48 PM, Thomas Monjalon wrote:
> It was impossible to include netinet/in.h and rte_ip.h
> because the IP protocols were redefined.
> It is removed because useless.
>
> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>

Acked by Ivan Boule <ivan.boule@6wind.com>

-- 
Ivan Boule
6WIND Development Engineer

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [dpdk-dev] [PATCH] net: fix conflict with libc
  2014-11-27 14:03             ` Ivan Boule
@ 2014-11-27 18:13               ` Thomas Monjalon
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2014-11-27 18:13 UTC (permalink / raw)
  To: Ivan Boule; +Cc: dev

> > It was impossible to include netinet/in.h and rte_ip.h
> > because the IP protocols were redefined.
> > It is removed because useless.
> >
> > Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
> 
> Acked by Ivan Boule <ivan.boule@6wind.com>

Applied

-- 
Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-11-27 18:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-30  2:49 [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict Jingjing Wu
2014-09-30  5:07 ` Thomas Monjalon
2014-10-09  5:17   ` Wu, Jingjing
2014-09-30 13:09 ` Neil Horman
2014-10-09  5:20   ` Wu, Jingjing
2014-10-09  5:37     ` Matthew Hall
2014-10-09 11:29     ` Neil Horman
2014-11-03  7:41       ` Thomas Monjalon
2014-11-17 14:17         ` Neil Horman
2014-11-27 11:48           ` [dpdk-dev] [PATCH] net: fix conflict with libc Thomas Monjalon
2014-11-27 14:03             ` Ivan Boule
2014-11-27 18:13               ` Thomas Monjalon

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