Skip to content
Permalink
Browse files

Merge pull request #3597 from mjstapp/dplane_return_prov

zebra: return dataplane provider plugin handle
  • Loading branch information...
donaldsharp committed Jan 11, 2019
2 parents e8aa58a + 1ff8a24 commit bae61ac238f10941eba8f331c8262cdb7e544520
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 bae61ac

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