[dpdk-dev] [PATCH] librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h
Morten Brørup
mb at smartsharesystems.com
Mon May 13 15:02:57 CEST 2019
Hi Olivier,
Thank you for responding to this, and sorry about the noise with my initial failed commit attempts.
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Olivier Matz
> Sent: Monday, May 13, 2019 1:55 PM
> To: Morten Brørup
> Cc: thomas at monjalon.net; ferruh.yigit at intel.com;
> arybchenko at solarflare.com; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] librte_net: define TCP flags in
> rte_tcp.h instead of in rte_eth_ctrl.h
>
> Hi Morten,
>
> On Fri, May 10, 2019 at 07:34:14PM +0200, Morten Brørup wrote:
> > TCP flags were moved to the TCP header file from the Ethernet control
> > header file, keeping their names intact.
> >
> > Missing TCP ECN flags were added.
> >
> > The ALL mask did not include TCP ECN flags, so it was renamed to
> reflect
> > that it applies to N-tuple filtering only.
> > A driver using the ALL mask was updated accordingly.
> >
> > Signed-off-by: Morten Brørup <mb at smartsharesystems.com>
> > ---
> > app/test-pmd/cmdline.c | 4 ++--
> > drivers/net/e1000/igb_ethdev.c | 8 ++++----
> > lib/librte_ethdev/rte_eth_ctrl.h | 8 +-------
> > lib/librte_net/rte_tcp.h | 13 +++++++++++++
> > 4 files changed, 20 insertions(+), 13 deletions(-)
> >
> b/lib/librte_ethdev/rte_eth_ctrl.h
> > index 5ea8ae2..f21e84b 100644
> > --- a/lib/librte_ethdev/rte_eth_ctrl.h
> > +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> > @@ -184,13 +184,7 @@ struct rte_eth_syn_filter {
> > RTE_NTUPLE_FLAGS_DST_PORT | \
> > RTE_NTUPLE_FLAGS_PROTO)
> >
> > -#define TCP_URG_FLAG 0x20
> > -#define TCP_ACK_FLAG 0x10
> > -#define TCP_PSH_FLAG 0x08
> > -#define TCP_RST_FLAG 0x04
> > -#define TCP_SYN_FLAG 0x02
> > -#define TCP_FIN_FLAG 0x01
> > -#define TCP_FLAG_ALL 0x3F
> > +#define RTE_NTUPLE_TCP_FLAGS_MASK 0x3F /**< TCP flags filter can
> match. */
> >
> > /**
> > * A structure used to define the ntuple filter entry
> > diff --git a/lib/librte_net/rte_tcp.h b/lib/librte_net/rte_tcp.h
> > index 91f5898..2e89b5e 100644
> > --- a/lib/librte_net/rte_tcp.h
> > +++ b/lib/librte_net/rte_tcp.h
> > @@ -2,6 +2,7 @@
> > * Copyright(c) 1982, 1986, 1990, 1993
> > * The Regents of the University of California.
> > * Copyright(c) 2010-2014 Intel Corporation.
> > + * Copyright(c) 2019 SmartShare Systems.
> > * All rights reserved.
> > */
> >
>
> IMHO, adding the copyright for flags move is a bit overkill.
I also added the two ECN flags and descriptions of all the flags. And removed the misleading ALL flag.
I don't know the formal or customary threshold criteria for adding a copyright notice, so I just added it. It's our first direct contribution where we didn't just send the corrections to another contributor, so I thought it would be nice to have our name in here. You're the maintainer, so I'll leave the final decision up to you.
>
> > @@ -35,6 +36,18 @@ struct tcp_hdr {
> > uint16_t tcp_urp; /**< TCP urgent pointer, if any. */
> > } __attribute__((__packed__));
> >
> > +/**
> > + * TCP Flags
> > + */
> > +#define TCP_CWR_FLAG 0x80 /**< Congestion Window Reduced */
> > +#define TCP_ECE_FLAG 0x40 /**< ECN-Echo */
> > +#define TCP_URG_FLAG 0x20 /**< Urgent Pointer field significant */
> > +#define TCP_ACK_FLAG 0x10 /**< Acknowledgment field significant */
> > +#define TCP_PSH_FLAG 0x08 /**< Push Function */
> > +#define TCP_RST_FLAG 0x04 /**< Reset the connection */
> > +#define TCP_SYN_FLAG 0x02 /**< Synchronize sequence numbers */
> > +#define TCP_FIN_FLAG 0x01 /**< No more data from sender */
> > +
> > #ifdef __cplusplus
> > }
> > #endif
>
> Moving these flags in rte_tcp.h makes sense.
>
> But I think they will need to be renamed with a RTE_ prefix inside this
> patchset: https://patches.dpdk.org/patch/52556/
> So we need to take care to the dependency between these 2 patchsets.
Agreed. I assume someone more git-experienced than myself can take care of this.
>
> Acked-by: Olivier Matz <olivier.matz at 6wind.com>
Med venlig hilsen / kind regards
- Morten Brørup
More information about the dev
mailing list