[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