<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi<br>
    <br>
    I am not knowledgeable on gcc advanced syntax but I worked in C/C++
    before and gcc 4.8.5 on CentOS 4.6 croaks when seeing the below in
    "lib/netdev-dpdk.c" and then many other errors<br>
    <br>
    Build first dpdk 18.11 w/o error then attempted to build ovs based
    on <a class="moz-txt-link-freetext" href="http://docs.openvswitch.org/en/latest/intro/install/dpdk/">http://docs.openvswitch.org/en/latest/intro/install/dpdk/</a> and
    <a class="moz-txt-link-freetext" href="http://docs.openvswitch.org/en/latest/intro/install/general/">http://docs.openvswitch.org/en/latest/intro/install/general/</a><br>
    <br>
    My gcc is 4.8.5, libtool 2.4.6 and doing the make after a
    ./configure --with-dpdk=&lt;DPDK build folder&gt;<br>
    <br>
    What is missing please??? There is a mismatch between DPDK 18.11
    structures and what OVS expects -below and<br>
    <br>
    Here is the culprit (or one of them)<br>
    <br>
    static const struct rte_eth_conf port_conf = {<br>
        .rxmode = {<br>
            .mq_mode = ETH_MQ_RX_RSS,<br>
            .split_hdr_size = 0,<br>
           <b> .header_split   = 0, /* Header Split disabled */       
                          /* &lt;&lt;= Line 171 */</b><br>
            .hw_ip_checksum = 0, /* IP checksum offload disabled */<br>
            .hw_vlan_filter = 0, /* VLAN filtering disabled */<br>
            .jumbo_frame    = 0, /* Jumbo Frame Support disabled */<br>
            .hw_strip_crc   = 0,<br>
        },<br>
        .rx_adv_conf = {<br>
            .rss_conf = {<br>
                .rss_key = NULL,<br>
                .rss_hf = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP,<br>
            },<br>
        },<br>
        .txmode = {<br>
            .mq_mode = ETH_MQ_TX_NONE,<br>
        },<br>
    };<br>
    <p>And why is failing as shown below - because "struct rte_eth_conf"
      and its element struct rte_eth_rxmode rxmode DO NOT HAVE these
      elements</p>
    <p>At least not in DPDK 18.11 I am compiling against. Attaching the
      DPDK 18.11 header file at stake dpdk-18.11/lib/librte_ethdev 
      attached together with openvswitch-2.10.1/lib/netdev-dpdk.c<br>
    </p>
    <p>So - what version of OpenVswitch with what version of DPDK
      please???  <br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    make<br>
    <br>
    ... all fine till below ...<br>
    <br>
    /bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99
    -DHAVE_CONFIG_H -I.    -I ./include -I ./include -I ./lib -I
    ./lib    -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare
    -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum
    -Wunused-parameter -Wbad-function-cast -Wcast-align
    -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes
    -Wmissing-field-initializers -fno-strict-aliasing -Wshadow
    -Wno-null-pointer-arithmetic -mssse3
    -I/opt/dpdk_install/dpdk-18.11/x86_64-native-linuxapp-gcc/include
    -D_FILE_OFFSET_BITS=64  -g -O2 -MT lib/netdev-dpdk.lo -MD -MP -MF
    $depbase.Tpo -c -o lib/netdev-dpdk.lo lib/netdev-dpdk.c &amp;&amp;\<br>
    mv -f $depbase.Tpo $depbase.Plo<br>
    libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include
    -I ./include -I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra
    -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security
    -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align
    -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes
    -Wmissing-field-initializers -fno-strict-aliasing -Wshadow
    -Wno-null-pointer-arithmetic -mssse3
    -I/opt/dpdk_install/dpdk-18.11/x86_64-native-linuxapp-gcc/include
    -D_FILE_OFFSET_BITS=64 -g -O2 -MT lib/netdev-dpdk.lo -MD -MP -MF
    lib/.deps/netdev-dpdk.Tpo -c lib/netdev-dpdk.c -o lib/netdev-dpdk.o<br>
    lib/netdev-dpdk.c:171:9: error: unknown field âheader_splitâ
    specified in initializer<br>
             .header_split   = 0, /* Header Split disabled */<br>
             ^<br>
    lib/netdev-dpdk.c:172:9: error: unknown field âhw_ip_checksumâ
    specified in initializer<br>
             .hw_ip_checksum = 0, /* IP checksum offload disabled */<br>
             ^<br>
    lib/netdev-dpdk.c:172:9: warning: excess elements in struct
    initializer [enabled by default]<br>
    lib/netdev-dpdk.c:172:9: warning: (near initialization for
    âport_conf.rxmodeâ) [enabled by default]<br>
    lib/netdev-dpdk.c:173:9: error: unknown field âhw_vlan_filterâ
    specified in initializer<br>
             .hw_vlan_filter = 0, /* VLAN filtering disabled */<br>
             ^<br>
    lib/netdev-dpdk.c:173:9: warning: excess elements in struct
    initializer [enabled by default]<br>
    lib/netdev-dpdk.c:173:9: warning: (near initialization for
    âport_conf.rxmodeâ) [enabled by default]<br>
    lib/netdev-dpdk.c:174:9: error: unknown field âjumbo_frameâ
    specified in initializer<br>
             .jumbo_frame    = 0, /* Jumbo Frame Support disabled */<br>
             ^<br>
    lib/netdev-dpdk.c:174:9: warning: excess elements in struct
    initializer [enabled by default]<br>
    lib/netdev-dpdk.c:174:9: warning: (near initialization for
    âport_conf.rxmodeâ) [enabled by default]<br>
    lib/netdev-dpdk.c:175:9: error: unknown field âhw_strip_crcâ
    specified in initializer<br>
             .hw_strip_crc   = 0,<br>
             ^<br>
    lib/netdev-dpdk.c:175:9: warning: excess elements in struct
    initializer [enabled by default]<br>
    lib/netdev-dpdk.c:175:9: warning: (near initialization for
    âport_conf.rxmodeâ) [enabled by default]<br>
    lib/netdev-dpdk.c: In function âdpdk_eth_dev_port_configâ:<br>
    lib/netdev-dpdk.c:906:24: error: âstruct rte_eth_rxmodeâ has no
    member named âenable_scatterâ<br>
                 conf.rxmode.enable_scatter = 1;<br>
                            ^<br>
    lib/netdev-dpdk.c:911:16: error: âstruct rte_eth_rxmodeâ has no
    member named âhw_ip_checksumâ<br>
         conf.rxmode.hw_ip_checksum = (dev-&gt;hw_ol_features &amp;<br>
                    ^<br>
    lib/netdev-dpdk.c:915:20: error: âstruct rte_eth_rxmodeâ has no
    member named âhw_strip_crcâ<br>
             conf.rxmode.hw_strip_crc = 1;<br>
    <br>
    <br>
    <br>
    <br>
    <br>
  <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
        <tr>
        <td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
                <td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body>
</html>