DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: "Wu, Jingjing" <jingjing.wu@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] llib/ibrte_net: workaround to avoid macro conflict
Date: Thu, 9 Oct 2014 07:29:19 -0400	[thread overview]
Message-ID: <20141009112918.GA20940@hmsreliant.think-freely.org> (raw)
In-Reply-To: <9BB6961774997848B5B42BEC655768F8B04B34@SHSMSX104.ccr.corp.intel.com>

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

  parent reply	other threads:[~2014-10-09 11:22 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-30  2:49 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141009112918.GA20940@hmsreliant.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).