Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
L2 BVI/FIB: Update L2 FIB table when BVI's MAC changes
[vpp.git]
/
src
/
vnet
/
interface.h
diff --git
a/src/vnet/interface.h
b/src/vnet/interface.h
index
e9adfe8
..
30023eb
100644
(file)
--- a/
src/vnet/interface.h
+++ b/
src/vnet/interface.h
@@
-69,7
+69,8
@@
typedef clib_error_t *(vnet_subif_add_del_function_t)
/* Interface set mac address callback. */
typedef clib_error_t *(vnet_interface_set_mac_address_function_t)
/* Interface set mac address callback. */
typedef clib_error_t *(vnet_interface_set_mac_address_function_t)
- (struct vnet_hw_interface_t * hi, char *address);
+ (struct vnet_hw_interface_t * hi,
+ const u8 * old_address, const u8 * new_address);
/* Interface set rx mode callback. */
typedef clib_error_t *(vnet_interface_set_rx_mode_function_t)
/* Interface set rx mode callback. */
typedef clib_error_t *(vnet_interface_set_rx_mode_function_t)
@@
-108,6
+109,7
@@
typedef struct _vnet_interface_function_list_elt
clib_error_t *(*fp) (struct vnet_main_t * vnm, u32 if_index, u32 flags);
} _vnet_interface_function_list_elt_t;
clib_error_t *(*fp) (struct vnet_main_t * vnm, u32 if_index, u32 flags);
} _vnet_interface_function_list_elt_t;
+#ifndef CLIB_MARCH_VARIANT
#define _VNET_INTERFACE_FUNCTION_DECL_PRIO(f,tag,p) \
\
static void __vnet_interface_function_init_##tag##_##f (void) \
#define _VNET_INTERFACE_FUNCTION_DECL_PRIO(f,tag,p) \
\
static void __vnet_interface_function_init_##tag##_##f (void) \
@@
-146,6
+148,12
@@
static void __vnet_interface_function_deinit_##tag##_##f (void) \
next = next->next_interface_function; \
} \
}
next = next->next_interface_function; \
} \
}
+#else
+/* create unused pointer to silence compiler warnings and get whole
+ function optimized out */
+#define _VNET_INTERFACE_FUNCTION_DECL_PRIO(f,tag,p) \
+static __clib_unused void * __clib_unused_##f = f;
+#endif
#define _VNET_INTERFACE_FUNCTION_DECL(f,tag) \
_VNET_INTERFACE_FUNCTION_DECL_PRIO(f,tag,VNET_ITF_FUNC_PRIORITY_LOW)
#define _VNET_INTERFACE_FUNCTION_DECL(f,tag) \
_VNET_INTERFACE_FUNCTION_DECL_PRIO(f,tag,VNET_ITF_FUNC_PRIORITY_LOW)
@@
-248,6
+256,7
@@
typedef struct _vnet_device_class
vnet_interface_set_mac_address_function_t *mac_addr_change_function;
} vnet_device_class_t;
vnet_interface_set_mac_address_function_t *mac_addr_change_function;
} vnet_device_class_t;
+#ifndef CLIB_MARCH_VARIANT
#define VNET_DEVICE_CLASS(x,...) \
__VA_ARGS__ vnet_device_class_t x; \
static void __vnet_add_device_class_registration_##x (void) \
#define VNET_DEVICE_CLASS(x,...) \
__VA_ARGS__ vnet_device_class_t x; \
static void __vnet_add_device_class_registration_##x (void) \
@@
-267,6
+276,12
@@
static void __vnet_rm_device_class_registration_##x (void) \
&x, next_class_registration); \
} \
__VA_ARGS__ vnet_device_class_t x
&x, next_class_registration); \
} \
__VA_ARGS__ vnet_device_class_t x
+#else
+/* create unused pointer to silence compiler warnings and get whole
+ function optimized out */
+#define VNET_DEVICE_CLASS(x,...) \
+static __clib_unused vnet_device_class_t __clib_unused_##x
+#endif
#define VNET_DEVICE_CLASS_TX_FN(devclass) \
uword CLIB_MARCH_SFX (devclass##_tx_fn)(); \
#define VNET_DEVICE_CLASS_TX_FN(devclass) \
uword CLIB_MARCH_SFX (devclass##_tx_fn)(); \