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

Reply via email to