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