Dear Dave:

Thanks a lot for the information! I have a follow up question with regard to 
when a plugin should allocate its global resources.

Plugins doesn't unload/reload during VPP process looks like the expectation for 
a plugin to not allocate any resources during its plugin_init function since it 
will not have an opportunity to free it. The plugin should rather have some API 
to "enable feature" where it does the bulk of allocation and free the resources 
in its "disable feature" API. With the sample plugin example, what I see is 
that the plugin_init just hooks up APIs (init with the VPP framework), but the 
actual "feature enable" API modifies the graph (init sample plugin).

In general, what's the responsibility of initialization for plugin init vs a 
separate API to enable the feature? Should plugin init just do some 
minimal/basic registration related work with VPP framework and leave plugin 
specific work during "feature enable"?

Thanks,
-Ray

From: Dave Barach (dbarach) <dbar...@cisco.com>
Sent: Friday, October 19, 2018 4:35 AM
To: Ray Cai <ru...@microsoft.com>; vpp-dev@lists.fd.io
Subject: RE: Question about VPP plugin/node's life cycle

Dear Ray,

As you probably suspect: plugins are neither unloaded nor reloaded.

HTH... Dave

From: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> 
<vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> On Behalf Of Rui Cai via 
Lists.Fd.Io
Sent: Thursday, October 18, 2018 9:43 PM
To: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>
Cc: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>
Subject: [SUSPICIOUS] [vpp-dev] Question about VPP plugin/node's life cycle

Hello vpp experts:

I'm trying to figure out a plugin/node's life cycle with in VPP process. There 
is very rich code/documentation talking about plugin 
registration/initialization and node registration. I understand that nodes are 
created during node graph build up and during plugin init function I can 
further manipulate the edges of my nodes. However, I'm having trouble finding 
the code that handles node tear down/plugin un-initialization. Does VPP have a 
notion of plugin/node un-initialization? For example, if my plugin allocated 
some object during init, I would expect to free it in un-init. If there is such 
concept, what should I search to find them? Or pretty much the node/plugin 
lives as long as the VPP process is running and the plugin/node life cycle is 
never going to be shorter than VPP process?

Thanks a lot!
-Ray
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10882): https://lists.fd.io/g/vpp-dev/message/10882
Mute This Topic: https://lists.fd.io/mt/27411530/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to