Skip to content
Permalink
Browse files

zebra: return dataplane provider plugin handle

When a dataplane provider/plugin registers, return the new
handle/object - that's needed to use some provider apis
later on.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
  • Loading branch information...
mjstapp committed Jan 10, 2019
1 parent e8aa58a commit 1ff8a24869413fd3ab6c09327c6ade0201a4de2b
Showing with 11 additions and 5 deletions.
  1. +7 −3 zebra/zebra_dplane.c
  2. +4 −2 zebra/zebra_dplane.h
@@ -991,7 +991,8 @@ int dplane_provider_register(const char *name,
int (*fp)(struct zebra_dplane_provider *),
int (*fini_fp)(struct zebra_dplane_provider *,
bool early),
void *data)
void *data,
struct zebra_dplane_provider **prov_p)
{
int ret = 0;
struct zebra_dplane_provider *p, *last;
@@ -1055,6 +1056,9 @@ int dplane_provider_register(const char *name,
p->dp_name, p->dp_id, p->dp_priority);

done:
if (prov_p)
*prov_p = p;

return ret;
}

@@ -1349,7 +1353,7 @@ static void dplane_provider_init(void)
DPLANE_PROV_FLAGS_DEFAULT,
kernel_dplane_process_func,
NULL,
NULL);
NULL, NULL);

if (ret != AOK)
zlog_err("Unable to register kernel dplane provider: %d",
@@ -1362,7 +1366,7 @@ static void dplane_provider_init(void)
DPLANE_PROV_FLAGS_DEFAULT,
test_dplane_process_func,
test_dplane_shutdown_func,
NULL /* data */);
NULL /* data */, NULL);

if (ret != AOK)
zlog_err("Unable to register test dplane provider: %d",
@@ -258,7 +258,8 @@ enum dplane_provider_prio {


/* Provider registration: ordering or priority value, callbacks, and optional
* opaque data value.
* opaque data value. If 'prov_p', return the newly-allocated provider object
* on success.
*/

/* Providers offer an entry-point for incoming work, called in the context of
@@ -279,7 +280,8 @@ int dplane_provider_register(const char *name,
int (*fp)(struct zebra_dplane_provider *),
int (*fini_fp)(struct zebra_dplane_provider *,
bool early),
void *data);
void *data,
struct zebra_dplane_provider **prov_p);

/* Accessors for provider attributes */
const char *dplane_provider_get_name(const struct zebra_dplane_provider *prov);

0 comments on commit 1ff8a24

Please sign in to comment.
You can’t perform that action at this time.