[dpdk-dev] [PATCH 1/4] net/tap: move private elements to external header

Pascal Mazon pascal.mazon at 6wind.com
Mon Mar 6 15:18:49 CET 2017


On Fri, 3 Mar 2017 15:38:11 +0000
"Wiles, Keith" <keith.wiles at intel.com> wrote:

> 
> > On Mar 3, 2017, at 4:45 AM, Pascal Mazon <pascal.mazon at 6wind.com>
> > wrote:
> > 
> > In the next patch, access to struct pmd_internals will be necessary
> > in tap_flow.c to store the flows.
> > 
> > Signed-off-by: Pascal Mazon <pascal.mazon at 6wind.com>
> > Acked-by: Olga Shern <olgas at mellanox.com>
> > ---
> > drivers/net/tap/Makefile      |  1 +
> > drivers/net/tap/rte_eth_tap.c | 34 ++------------------
> > drivers/net/tap/tap.h         | 73
> > +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76
> > insertions(+), 32 deletions(-) create mode 100644
> > drivers/net/tap/tap.h
> > 
> > diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile
> > index e18f30c56f52..bdbe69e62a4e 100644
> > --- a/drivers/net/tap/Makefile
> > +++ b/drivers/net/tap/Makefile
> > @@ -40,6 +40,7 @@ EXPORT_MAP := rte_pmd_tap_version.map
> > LIBABIVER := 1
> > 
> > CFLAGS += -O3
> > +CFLAGS += -I$(SRCDIR)
> > CFLAGS += $(WERROR_FLAGS)
> > 
> > #
> > diff --git a/drivers/net/tap/rte_eth_tap.c
> > b/drivers/net/tap/rte_eth_tap.c index 3fd057225ab3..fa57d645f3b1
> > 100644 --- a/drivers/net/tap/rte_eth_tap.c
> > +++ b/drivers/net/tap/rte_eth_tap.c
> > @@ -51,6 +51,8 @@
> > #include <linux/if_ether.h>
> > #include <fcntl.h>
> > 
> > +#include <tap.h>
> > +
> > /* Linux based path to the TUN device */
> > #define TUN_TAP_DEV_PATH        "/dev/net/tun"
> > #define DEFAULT_TAP_NAME        "dtap"
> > @@ -83,38 +85,6 @@ static struct rte_eth_link pmd_link = {
> > 	.link_autoneg = ETH_LINK_SPEED_AUTONEG
> > };
> > 
> > -struct pkt_stats {
> > -	uint64_t opackets;		/* Number of output
> > packets */
> > -	uint64_t ipackets;		/* Number of input
> > packets */
> > -	uint64_t obytes;		/* Number of bytes on
> > output */
> > -	uint64_t ibytes;		/* Number of bytes on
> > input */
> > -	uint64_t errs;			/* Number of error
> > packets */ -};
> > -
> > -struct rx_queue {
> > -	struct rte_mempool *mp;		/* Mempool for RX
> > packets */
> > -	uint16_t in_port;		/* Port ID */
> > -	int fd;
> > -
> > -	struct pkt_stats stats;		/* Stats for this
> > RX queue */ -};
> > -
> > -struct tx_queue {
> > -	int fd;
> > -	struct pkt_stats stats;		/* Stats for this
> > TX queue */ -};
> > -
> > -struct pmd_internals {
> > -	char name[RTE_ETH_NAME_MAX_LEN];	/* Internal Tap
> > device name */
> > -	uint16_t nb_queues;		/* Number of queues
> > supported */
> > -	struct ether_addr eth_addr;	/* Mac address of the
> > device port */ -
> > -	int if_index;			/* IF_INDEX for the
> > port */ -
> > -	struct rx_queue rxq[RTE_PMD_TAP_MAX_QUEUES];	/*
> > List of RX queues */
> > -	struct tx_queue txq[RTE_PMD_TAP_MAX_QUEUES];	/*
> > List of TX queues */ -};
> > -
> > /* Tun/Tap allocation routine
> >  *
> >  * name is the number of the interface to use, unless NULL to take
> > the host diff --git a/drivers/net/tap/tap.h b/drivers/net/tap/tap.h
> > new file mode 100644
> > index 000000000000..88f62b895feb
> > --- /dev/null
> > +++ b/drivers/net/tap/tap.h
> > @@ -0,0 +1,73 @@
> > +/*-
> > + *   BSD LICENSE
> > + *
> > + *   Copyright 2017 6WIND S.A.
> > + *   Copyright 2017 Mellanox.
> > + *
> > + *   Redistribution and use in source and binary forms, with or
> > without
> > + *   modification, are permitted provided that the following
> > conditions
> > + *   are met:
> > + *
> > + *     * Redistributions of source code must retain the above
> > copyright
> > + *       notice, this list of conditions and the following
> > disclaimer.
> > + *     * Redistributions in binary form must reproduce the above
> > copyright
> > + *       notice, this list of conditions and the following
> > disclaimer in
> > + *       the documentation and/or other materials provided with the
> > + *       distribution.
> > + *     * Neither the name of 6WIND S.A. nor the names of its
> > + *       contributors may be used to endorse or promote products
> > derived
> > + *       from this software without specific prior written
> > permission.
> > + *
> > + *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
> > CONTRIBUTORS
> > + *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
> > NOT
> > + *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
> > FITNESS FOR
> > + *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> > COPYRIGHT
> > + *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> > INCIDENTAL,
> > + *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> > NOT
> > + *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
> > OF USE,
> > + *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
> > AND ON ANY
> > + *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> > OR TORT
> > + *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
> > THE USE
> > + *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> > DAMAGE.
> > + */
> > +
> > +#ifndef _TAP_H_
> > +#define _TAP_H_
> > +
> > +#include <inttypes.h>
> > +
> > +#include <rte_ethdev.h>
> > +#include <rte_ether.h>
> > +
> > +#define RTE_PMD_TAP_MAX_QUEUES 16
> > +
> > +struct pkt_stats {
> > +	uint64_t opackets; /* Number of output packets */
> > +	uint64_t ipackets; /* Number of input packets */
> > +	uint64_t obytes; /* Number of bytes on output */
> > +	uint64_t ibytes; /* Number of bytes on input */
> > +	uint64_t errs; /* Number of error packets */
> > +};
> > +
> > +struct rx_queue {
> > +	struct rte_mempool *mp; /* Mempool for RX packets */
> > +	uint16_t in_port; /* Port ID */
> > +	int fd;
> > +	struct pkt_stats stats; /* Stats for this RX queue */
> > +};
> > +
> > +struct tx_queue {
> > +	int fd;
> > +	struct pkt_stats stats; /* Stats for this TX queue */
> > +};
> > +
> > +struct pmd_internals {
> > +	char name[RTE_ETH_NAME_MAX_LEN]; /* Internal Tap device
> > name */
> > +	uint16_t nb_queues; /* Number of queues supported */
> > +	struct ether_addr eth_addr; /* Mac address of the device
> > port */
> > +	int if_index; /* IF_INDEX for the port */
> > +	struct rx_queue rxq[RTE_PMD_TAP_MAX_QUEUES]; /* List of RX
> > queues */
> > +	struct tx_queue txq[RTE_PMD_TAP_MAX_QUEUES]; /* List of TX
> > queues */ +};
> 
> I guess I am going to be a bit picky here on the formatting. Moving
> the code from .c to .h you compress a lot of white space out and now
> I think it is very hard to read. Can you add back some of the white
> space for readability.
> 

Do you mean whitespaces between ";" and the comment, or do you mean line
jumps? Would you rather have it look like what's described there?
  http://dpdk.org/doc/guides/contributing/coding_style.html#structure-declarations

Regards,
Pascal

> > +
> > +#endif /* _TAP_H_ */
> > -- 
> > 2.8.0.rc0
> > 
> 
> Regards,
> Keith
> 



More information about the dev mailing list