[dpdk-dev] [PATCH v2] drivers/net:new PMD using tun/tap host interface

Yuanhan Liu yuanhan.liu at linux.intel.com
Sun Sep 18 15:25:56 CEST 2016


On Fri, Sep 16, 2016 at 11:22:13AM -0500, Keith Wiles wrote:
> The rte_eth_tap.c PMD creates a device using TUN/TAP interfaces
> on the local host. The PMD allows for DPDK and the host to
> communicate using a raw device interface on the host and in
> the DPDK application. The device created is a Tap device with
> a L2 packet header.
> 
> v2 - merge all of the patches into one patch.
>      Fix a typo on naming the tap device.
>      Update the maintainers list
> 
> Signed-off-by: Keith Wiles <keith.wiles at intel.com>

Hi,

FYI, my robot caught some build errors with this patch applied.

	--yliu

---
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:71:2: error: redefinition of enumerator 'IFF_UP'
        IFF_UP                          = 1<<0,  /* sysfs */
        ^
/usr/include/net/if.h:45:17: note: expanded from macro 'IFF_UP'
# define IFF_UP IFF_UP
                ^
/usr/include/net/if.h:44:5: note: previous definition is here
    IFF_UP = 0x1,               /* Interface is up.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:72:2: error: redefinition of enumerator 'IFF_BROADCAST'
        IFF_BROADCAST                   = 1<<1,  /* __volatile__ */
        ^
/usr/include/net/if.h:47:24: note: expanded from macro 'IFF_BROADCAST'
# define IFF_BROADCAST  IFF_BROADCAST
                        ^
/usr/include/net/if.h:46:5: note: previous definition is here
    IFF_BROADCAST = 0x2,        /* Broadcast address valid.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:73:2: error: redefinition of enumerator 'IFF_DEBUG'
        IFF_DEBUG                       = 1<<2,  /* sysfs */
        ^
/usr/include/net/if.h:49:20: note: expanded from macro 'IFF_DEBUG'
# define IFF_DEBUG      IFF_DEBUG
                        ^
/usr/include/net/if.h:48:5: note: previous definition is here
    IFF_DEBUG = 0x4,            /* Turn on debugging.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:74:2: error: redefinition of enumerator 'IFF_LOOPBACK'
        IFF_LOOPBACK                    = 1<<3,  /* __volatile__ */
        ^
/usr/include/net/if.h:51:23: note: expanded from macro 'IFF_LOOPBACK'
# define IFF_LOOPBACK   IFF_LOOPBACK
                        ^
/usr/include/net/if.h:50:5: note: previous definition is here
    IFF_LOOPBACK = 0x8,         /* Is a loopback net.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:75:2: error: redefinition of enumerator 'IFF_POINTOPOINT'
        IFF_POINTOPOINT                 = 1<<4,  /* __volatile__ */
        ^
/usr/include/net/if.h:53:26: note: expanded from macro 'IFF_POINTOPOINT'
# define IFF_POINTOPOINT IFF_POINTOPOINT
                         ^
/usr/include/net/if.h:52:5: note: previous definition is here
    IFF_POINTOPOINT = 0x10,     /* Interface is point-to-point link.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:76:2: error: redefinition of enumerator 'IFF_NOTRAILERS'
        IFF_NOTRAILERS                  = 1<<5,  /* sysfs */
        ^
/usr/include/net/if.h:55:25: note: expanded from macro 'IFF_NOTRAILERS'
# define IFF_NOTRAILERS IFF_NOTRAILERS
                        ^
/usr/include/net/if.h:54:5: note: previous definition is here
    IFF_NOTRAILERS = 0x20,      /* Avoid use of trailers.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:77:2: error: redefinition of enumerator 'IFF_RUNNING'
        IFF_RUNNING                     = 1<<6,  /* __volatile__ */
        ^
/usr/include/net/if.h:57:22: note: expanded from macro 'IFF_RUNNING'
# define IFF_RUNNING    IFF_RUNNING
                        ^
/usr/include/net/if.h:56:5: note: previous definition is here
    IFF_RUNNING = 0x40,         /* Resources allocated.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:78:2: error: redefinition of enumerator 'IFF_NOARP'
        IFF_NOARP                       = 1<<7,  /* sysfs */
        ^
/usr/include/net/if.h:59:20: note: expanded from macro 'IFF_NOARP'
# define IFF_NOARP      IFF_NOARP
                        ^
/usr/include/net/if.h:58:5: note: previous definition is here
    IFF_NOARP = 0x80,           /* No address resolution protocol.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:79:2: error: redefinition of enumerator 'IFF_PROMISC'
        IFF_PROMISC                     = 1<<8,  /* sysfs */
        ^
/usr/include/net/if.h:61:22: note: expanded from macro 'IFF_PROMISC'
# define IFF_PROMISC    IFF_PROMISC
                        ^
/usr/include/net/if.h:60:5: note: previous definition is here
    IFF_PROMISC = 0x100,        /* Receive all packets.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:80:2: error: redefinition of enumerator 'IFF_ALLMULTI'
        IFF_ALLMULTI                    = 1<<9,  /* sysfs */
        ^
/usr/include/net/if.h:65:23: note: expanded from macro 'IFF_ALLMULTI'
# define IFF_ALLMULTI   IFF_ALLMULTI
                        ^
/usr/include/net/if.h:64:5: note: previous definition is here
    IFF_ALLMULTI = 0x200,       /* Receive all multicast packets.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:81:2: error: redefinition of enumerator 'IFF_MASTER'
        IFF_MASTER                      = 1<<10, /* __volatile__ */
        ^
/usr/include/net/if.h:68:21: note: expanded from macro 'IFF_MASTER'
# define IFF_MASTER     IFF_MASTER
                        ^
/usr/include/net/if.h:67:5: note: previous definition is here
    IFF_MASTER = 0x400,         /* Master of a load balancer.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:82:2: error: redefinition of enumerator 'IFF_SLAVE'
        IFF_SLAVE                       = 1<<11, /* __volatile__ */
        ^
/usr/include/net/if.h:70:20: note: expanded from macro 'IFF_SLAVE'
# define IFF_SLAVE      IFF_SLAVE
                        ^
/usr/include/net/if.h:69:5: note: previous definition is here
    IFF_SLAVE = 0x800,          /* Slave of a load balancer.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:83:2: error: redefinition of enumerator 'IFF_MULTICAST'
        IFF_MULTICAST                   = 1<<12, /* sysfs */
        ^
/usr/include/net/if.h:73:24: note: expanded from macro 'IFF_MULTICAST'
# define IFF_MULTICAST  IFF_MULTICAST
                        ^
/usr/include/net/if.h:72:5: note: previous definition is here
    IFF_MULTICAST = 0x1000,     /* Supports multicast.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:84:2: error: redefinition of enumerator 'IFF_PORTSEL'
        IFF_PORTSEL                     = 1<<13, /* sysfs */
        ^
/usr/include/net/if.h:76:22: note: expanded from macro 'IFF_PORTSEL'
# define IFF_PORTSEL    IFF_PORTSEL
                        ^
/usr/include/net/if.h:75:5: note: previous definition is here
    IFF_PORTSEL = 0x2000,       /* Can set media type.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:85:2: error: redefinition of enumerator 'IFF_AUTOMEDIA'
        IFF_AUTOMEDIA                   = 1<<14, /* sysfs */
        ^
/usr/include/net/if.h:78:24: note: expanded from macro 'IFF_AUTOMEDIA'
# define IFF_AUTOMEDIA  IFF_AUTOMEDIA
                        ^
/usr/include/net/if.h:77:5: note: previous definition is here
    IFF_AUTOMEDIA = 0x4000,     /* Auto media select active.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:86:2: error: redefinition of enumerator 'IFF_DYNAMIC'
        IFF_DYNAMIC                     = 1<<15, /* sysfs */
        ^
/usr/include/net/if.h:80:22: note: expanded from macro 'IFF_DYNAMIC'
# define IFF_DYNAMIC    IFF_DYNAMIC
                        ^
/usr/include/net/if.h:79:5: note: previous definition is here
    IFF_DYNAMIC = 0x8000        /* Dialup device with changing addresses.  */
    ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:169:8: error: redefinition of 'ifmap'
struct ifmap {
       ^
/usr/include/net/if.h:111:8: note: previous definition is here
struct ifmap
       ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:203:8: error: redefinition of 'ifreq'
struct ifreq {
       ^
/usr/include/net/if.h:126:8: note: previous definition is here
struct ifreq
       ^
In file included from /yeti/vm/ubuntu-initrd-16.04-x86_64-build/dpdk/drivers/net/tap/rte_eth_tap.c:50:
/usr/include/linux/if.h:252:8: error: redefinition of 'ifconf'
struct ifconf  {
       ^
/usr/include/net/if.h:176:8: note: previous definition is here
struct ifconf
       ^
19 errors generated.
make[6]: *** [rte_eth_tap.o] Error 1
make[5]: *** [tap] Error 2
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [net] Error 2
make[3]: *** [drivers] Error 2
make[2]: *** [all] Error 2
make[1]: *** [pre_install] Error 2
make: *** [install] Error 2
error: build failed


More information about the dev mailing list