-#define _VNET_INTERFACE_FUNCTION_DECL(f,tag) \
- \
-static void __vnet_interface_function_init_##tag##_##f (void) \
- __attribute__((__constructor__)) ; \
- \
-static void __vnet_interface_function_init_##tag##_##f (void) \
-{ \
- vnet_main_t * vnm = vnet_get_main(); \
- static _vnet_interface_function_list_elt_t init_function; \
- init_function.next_interface_function = \
- vnm->tag##_functions[VNET_ITF_FUNC_PRIORITY_LOW]; \
- vnm->tag##_functions[VNET_ITF_FUNC_PRIORITY_LOW] = &init_function; \
- init_function.fp = (void *) &f; \
-}
-