diff options
| author | Donald Lee <dlqs@gmx.com> | 2021-08-18 20:29:22 +0800 |
|---|---|---|
| committer | Donald Lee <dlqs@gmx.com> | 2021-10-20 00:56:00 +0800 |
| commit | 263951c1be0dd95571bbf27ebb1ea70d2a16e33b (patch) | |
| tree | cc6794c89f3771d55b901fd4f8910126bbea1db6 | |
| parent | 9b851b74b0310a50530d505f20792ee7a108eb2e (diff) | |
lib: Register encoders/decoders for dplane hook
These are for encoding the dplane ctx object. The decoders are noops.
Signed-off-by: Donald Lee <dlqs@gmx.com>
| -rw-r--r-- | lib/frrscript.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/frrscript.h b/lib/frrscript.h index c089df61fc..cb96b68323 100644 --- a/lib/frrscript.h +++ b/lib/frrscript.h @@ -24,6 +24,8 @@ #ifdef HAVE_SCRIPTING #include <lua.h> +#include <nexthop.h> +#include <nexthop_group.h> #include "frrlua.h" #include "bgpd/bgp_script.h" // for peer and attr encoders/decoders @@ -31,6 +33,13 @@ extern "C" { #endif +/* Forward declarations */ +extern struct zebra_dplane_ctx ctx; +extern void lua_pushzebra_dplane_ctx(lua_State *L, + const struct zebra_dplane_ctx *ctx); +extern void lua_decode_zebra_dplane_ctx(lua_State *L, int idx, + struct zebra_dplane_ctx *ctx); + typedef void (*encoder_func)(lua_State *, const void *); typedef void *(*decoder_func)(lua_State *, int); @@ -171,7 +180,12 @@ time_t * : lua_pushtimet, \ char * : lua_pushstring_wrapper, \ struct attr * : lua_pushattr, \ struct peer * : lua_pushpeer, \ -const struct prefix * : lua_pushprefix \ +const struct prefix * : lua_pushprefix, \ +const struct ipaddr * : lua_pushipaddr, \ +const struct ethaddr * : lua_pushethaddr, \ +const struct nexthop_group * : lua_pushnexthop_group, \ +const struct nexthop * : lua_pushnexthop, \ +struct zebra_dplane_ctx * : lua_pushzebra_dplane_ctx \ )((L), (value)) #define DECODE_ARGS_WITH_STATE(L, value) \ @@ -187,7 +201,12 @@ time_t * : lua_decode_timet, \ char * : lua_decode_stringp, \ struct attr * : lua_decode_attr, \ struct peer * : lua_decode_noop, \ -const struct prefix * : lua_decode_noop \ +const struct prefix * : lua_decode_noop, \ +const struct ipaddr * : lua_decode_noop, \ +const struct ethaddr * : lua_decode_noop, \ +const struct nexthop_group * : lua_decode_noop, \ +const struct nexthop * : lua_decode_noop, \ +struct zebra_dplane_ctx * : lua_decode_noop \ )((L), -1, (value)) /* |
