[ 
https://issues.apache.org/jira/browse/METRON-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16254392#comment-16254392
 ] 

ASF GitHub Bot commented on METRON-1316:
----------------------------------------

GitHub user nickwallen opened a pull request:

    https://github.com/apache/metron/pull/841

    METRON-1316 Fastcapa Fails to Compile in Test Environment

    
    DPDK 16.11.1 will no longer compile against newer Linux kernels due to an 
interface change in the kernel.  
    
    This can be replicated in the Fastcapa test environment.  We use the 
`bentos/centos-7.1` image for the test environment.  In this image, the 
underlying Linux kernel has been updated which makes it no longer work with 
DPDK 16.11.1.
    
    This change upgrades DPDK to 17.08 in the test environment and also updates 
Fastcapa to accomodate a function signature change in the newer version of DPDK.
    
    I also added the ability to run the same Fastcapa test code under multiple 
operating systems.  So now we can validate that Fastcapa runs in CentOS 7.1 and 
also CentOS 7.4, for example.  Additional platforms could easily be added.
    
    I also removed an old Ansible role that is no longer being used.
    
    ## Testing
    
    1. Run the following.
        ```
        cd metron-sensors/fastcapa/centos-7.1
        vagrant up
        ```
    
    2.  The deployment should complete with a message like so.
        ```
        Successfully received a Kafka message from fastcapa!
        ````
    
    
    ## Pull Request Checklist
    
    - [ ] Is there a JIRA ticket associated with this PR? If not one needs to 
be created at [Metron 
Jira](https://issues.apache.org/jira/browse/METRON/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel).
 
    - [ ] Does your PR title start with METRON-XXXX where XXXX is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
    - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
    - [ ] Have you included steps to reproduce the behavior or problem that is 
being changed or addressed?
    - [ ] Have you included steps or a guide to how the change may be verified 
and tested manually?
    - [ ] Have you ensured that the full suite of tests and checks have been 
executed in the root metron folder via:
    - [ ] Have you written or updated unit tests and or integration tests to 
verify your changes?
    - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
    - [ ] Have you verified the basic functionality of the build by building 
and running locally with Vagrant full-dev environment or the equivalent?


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nickwallen/metron METRON-1316

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/metron/pull/841.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #841
    
----
commit a00166187794a996b37c910e525ea7469b0241fb
Author: Nick Allen <n...@nickallen.org>
Date:   2017-11-15T22:42:38Z

    METRON-1316

----


> Fastcapa Fails to Compile in Test Environment
> ---------------------------------------------
>
>                 Key: METRON-1316
>                 URL: https://issues.apache.org/jira/browse/METRON-1316
>             Project: Metron
>          Issue Type: Bug
>    Affects Versions: 0.4.1
>            Reporter: Nick Allen
>            Priority: Critical
>             Fix For: Next + 1
>
>
> When deploying Fastcapa in the test environment, the following error is 
> encountered.
> {code}
> == Build lib/librte_eal/linuxapp/kni
>   CC [M]  
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:
>  In function ‘igb_ndo_bridge_getlink’:
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2288:2:
>  error: too few arguments to function ‘ndo_dflt_bridge_getlink’
>   return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, nlflags);
>   ^
> In file included from 
> /usr/src/kernels/3.10.0-693.5.2.el7.x86_64/include/net/dst.h:13:0,
>                  from 
> /usr/src/kernels/3.10.0-693.5.2.el7.x86_64/include/net/sock.h:72,
>                  from 
> /usr/src/kernels/3.10.0-693.5.2.el7.x86_64/include/linux/tcp.h:23,
>                  from 
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:34:
> /usr/src/kernels/3.10.0-693.5.2.el7.x86_64/include/linux/rtnetlink.h:115:12: 
> note: declared here
>  extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
>             ^
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:
>  At top level:
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2317:2:
>  error: unknown field ‘ndo_set_vf_vlan’ specified in initializer
>   .ndo_set_vf_vlan = igb_ndo_set_vf_vlan,
>   ^
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:
>  In function ‘igb_ndo_bridge_getlink’:
> /root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2296:1:
>  error: control reaches end of non-void function [-Werror=return-type]
>  }
>  ^
> cc1: all warnings being treated as errors
> make[10]: *** 
> [/root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o]
>  Error 1
> make[9]: *** 
> [_module_/root/dpdk-stable-16.11.1/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni]
>  Error 2
> make[8]: *** [sub-make] Error 2
> make[7]: *** [rte_kni.ko] Error 2
> make[6]: *** [kni] Error 2
> make[5]: *** [linuxapp] Error 2
> make[4]: *** [librte_eal] Error 2
> make[3]: *** [lib] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [pre_install] Error 2
> make: *** [install] Error 2
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to