Ok - but that doesn't get us any closer to helping newbies use the sample plugin with 'make build' and 'make run', right? They still need to install vpp, then the sample-plugin - lots of hoops.

I disagree with a documentation heavy approach in principle, the wiki suggests, that it similarly goes 'out of sync' quiet quickly.

BTW - I wasn't advocating PLUGIN_DISABLED, I provided build-data configs in the same way we do enabling/disabling dpdk features.

The updated patch provides the separation between example/sample plugins and plugins that was asked for. It re-uses all the same autotools configs as src/plugins, so shouldn't go out of sync.

Ray K


On 31/05/2017 17:05, Damjan Marion (damarion) wrote:

I do not agree with that proposal, I think we need to have one sample of 
out-of-tree plugin as it is today.

Still, I agree that we need to help newbies and my proposal is that we just 
document build process for out-of-tree plugins with simple README.md inside 
src/examples/sample-plugin.

btw I consider use of PLUGIN_DISABLED (as default choice) as evil, as it mens 
that plugin will go out of sync sooner or later.


On 31 May 2017, at 17:37, Kinsella, Ray <ray.kinse...@intel.com> wrote:


Ok, typically example/sample code is intended to be used by the newest of the 
new, newbies. So the sample plugin should work with 'make build' and 'make run' 
with the minimum of hoops to enable. Asking these users to install and 
configure VPP, then do the same for the sample plugin is too much. I think that 
this thread exists, is testament that the UX could be better - too many hoops.

So here I what I suggest to fix.

We create src/examples/plugins, put the sample plugin in here.

The examples plugins (src/examples/plugins) are in-tree plugins and build in 
exactly the same way as src/plugins from a build PoV (PLUGIN_ENABLED etc), with 
the exception that the examples plugins are disabled by default. They also live 
in the sample directory with no symlinks etc to src/plugin. We then provide a 
way to explicitly enable them with a build-data config.

I reworked the patch along these lines, does it make sense?

Ray K

On 31/05/2017 10:15, Damjan Marion (damarion) wrote:

The idea of sample plugin is to show people how to build out-of-tree plugin. As 
that plugin was broken several times due to changes we made I created special 
ebuild package which builds sample plugin as part of verify job to ensure that 
plugin will not be broken again due to changes in vpp.

Saying that, I strongly disagree that we move sample plugin into src/plugins, 
as that is place for in-tree plugins which actually do something useful.
If people want to create additional in-tree plugin, there is many samples 
already in src/plugins so I don't see an need for additional one.

So to continue discussion on this particular change, what do you think that it 
is broken?

For me sequence:

autoreconf -fis
./configure
make
make install

Works perfectly fine. Off-course you need to have install vpp-dev package on 
your system...


On 30 May 2017, at 13:30, Kinsella, Ray <ray.kinse...@intel.com> wrote:

The UX for the sample plugin is broken. Especially when you consider that the 
people most likely to try it and use it, are those least familiar with VPP.

I tried the use it a few months ago in training and found the UX similar then. 
So I put together a number of changes to integrate the plugin into the VPP 
build system, provide a build var to enable and disable it, and then added 
documentation for anyone new to VPP.

https://gerrit.fd.io/r/#/c/6920/

Thanks,

Ray K

On 27/05/2017 18:27, Luke, Chris wrote:
Wishes often come true when you turn them into patches. :)



Chris.



*From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io]
*On Behalf Of *Burt Silverman
*Sent:* Saturday, May 27, 2017 10:33
*To:* Kinsella, Ray <ray.kinse...@intel.com>
*Cc:* Alessio Silvestro <ale.silver...@gmail.com>; vpp-dev
<vpp-dev@lists.fd.io>
*Subject:* Re: [vpp-dev] VPP/How To Build The Sample Plugin



Thanks, Ray, this is exactly what I needed, by coincidence. I wish your
item 2. was placed commented out and almost word for word into the
standard $TOPDIR/src/vpp/conf/startup.conf -- that would make things
self documenting.

Burt



On Sat, May 27, 2017 at 8:30 AM, Kinsella, Ray <ray.kinse...@intel.com
<mailto:ray.kinse...@intel.com>> wrote:

So there is an easier way

1. make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install

2. adjusting the plugin path depending on where the VPP src is, add
the following to your startup.conf

plugins
{
        path
/root/src/vpp/build-root/install-vpp-native/sample-plugin/lib64/vpp_plugins/:/root/src/vpp/build-root/install-vpp_debug-native/vpp/lib64/vpp_plugins
}

Ray K


On 26/05/2017 12:53, Alessio Silvestro wrote:

    Hi all,

    I am trying to build the sample vpp-engine plug-in as explained here
    (https://wiki.fd.io/view/VPP/How_To_Build_The_Sample_Plugin
    <https://wiki.fd.noclick_io/view/VPP/How_To_Build_The_Sample_Plugin>).

    I already tested my vpp installation, for instance it works when I
    created a Source NAT.

    I downloaded the most updated version of the sample-plugin and
    run the
    following commands:

       sudo sh
       cd /usr/share/doc/vpp/examples
       cd /tmp/sample-plugin
       libtoolize
       aclocal
       autoconf
       autoheader

    ERROR 1:autoheader: error: AC_CONFIG_HEADERS not found in
    configure.ac <http://configure.noclick_ac>
    <http://configure.ac <http://configure.noclick_ac>>

       automake --add-missing
       chmod +x configure
       vpp_plugin_configure

    ERROR 2:vpp_plugin_configure: command not found


    So, first I have an error from the command autoheader.

    Second, I do not have the command vpp_plugin_configure.

    Any hints?

    Best regards,
    Alessio


    _______________________________________________
    vpp-dev mailing list
    vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
    https://lists.fd.io/mailman/listinfo/vpp-dev
    <https://lists.fd.noclick_io/mailman/listinfo/vpp-dev>

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
https://lists.fd.io/mailman/listinfo/vpp-dev
<https://lists.fd.noclick_io/mailman/listinfo/vpp-dev>



_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev


_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev
  • ... Alessio Silvestro
    • ... Guy Doucet -X (gudoucet - FLEXTRONICS CANADA DESIGN SERVICES INC at Cisco)
      • ... Alessio Silvestro
    • ... Kinsella, Ray
      • ... Burt Silverman
        • ... Luke, Chris
          • ... Kinsella, Ray
            • ... Damjan Marion (damarion)
              • ... Kinsella, Ray
                • ... Damjan Marion (damarion)
                • ... Kinsella, Ray
                • ... Damjan Marion (damarion)
                • ... Kinsella, Ray
                • ... Damjan Marion (damarion)
                • ... Damjan Marion (damarion)
                • ... Kinsella, Ray
                • ... Burt Silverman
                • ... Burt Silverman
                • ... Burt Silverman
                • ... Luke, Chris
                • ... Burt Silverman

Reply via email to