Its conservative - makes fewer changes and preserves the separate
packaging for the sample plugin, so its a good approach.
My only piece of feedback on it, is that we are starting to end up with
build 'config' divided across 'build-data' and environment variables,
which is something we may need to make consistent over time.
I don't know if the sample plugin is important enough to pollute the
'make help' with detail of how to build it. I thought the 'build-data'
config and markdown document describing the plugin and how to build it
was a better approach.
In anycase (env var or build-data config), I am happy to excise from my
original patch, the markdown doc, update it with the new build details
and doxygen comments etc and submit those seperately. Once this patch
goes through.
Ray K
On 31/05/2017 18:28, Damjan Marion (damarion) wrote:
Something like:
https://gerrit.fd.io/r/#/c/6962/
On 31 May 2017, at 18:50, Damjan Marion (damarion) <damar...@cisco.com> wrote:
What about:
export VPP_WITH_SAMPLE_PLUGIN=yes
make build
make run
Does this work for you?
On 31 May 2017, at 18:45, Kinsella, Ray <ray.kinse...@intel.com> wrote:
I think the idea that a user needs to go all the effort to install VPP and then
Sample plugin, in order to run trivial sample code as way too much work.
This is something we expect, they are going to copy and base a new plugin off.
So why we would bother making them go to all the effort to install it on their
system just to play with it.
Either way, I don't see this being reconciled, so I consigned the patch to
/dev/null.
Ray K
On 31/05/2017 17:31, Damjan Marion (damarion) wrote:
On 31 May 2017, at 18:18, Kinsella, Ray <ray.kinse...@intel.com> wrote:
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.
make run is not built for running out-of-tree plugins but this should work:
make bootstrap
make pkg-deb
dpkg -i build-root/*.deb
cd src/examples/sample-plugin
autoreconf -fis
./configure
make
sudo make install
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.
ok
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.
i still disagree, sample-plugin should be stand-alone autotools project, you
are removing configure.ac so for me it is no-go.
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
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev