Go to the source code of this file.
|
typedef | CLIB_PACKED (struct{u32 sw_if_index;u32 node_index;u16 next_index;u16 data_bytes;u16 max_l3_packet_bytes;u8 data[0];}) vnet_rewrite_header_t |
|
static void | vnet_rewrite_clear_data_internal (vnet_rewrite_header_t *rw, int max_size) |
|
static void | vnet_rewrite_set_data_internal (vnet_rewrite_header_t *rw, int max_size, void *data, int data_bytes) |
|
static void * | vnet_rewrite_get_data_internal (vnet_rewrite_header_t *rw, int max_size) |
|
static void | vnet_rewrite_copy_one (vnet_rewrite_data_t *p0, vnet_rewrite_data_t *rw0, int i) |
|
void | vnet_rewrite_copy_slow_path (vnet_rewrite_data_t *p0, vnet_rewrite_data_t *rw0, word n_left, uword most_likely_size) |
|
typedef | CLIB_PACKED (struct{u64 a;u32 b;u16 c;}) eh_copy_t |
|
void | vnet_rewrite_for_sw_interface (struct vnet_main_t *vnm, vnet_link_t packet_type, u32 sw_if_index, u32 node_index, void *dst_address, vnet_rewrite_header_t *rw, u32 max_rewrite_bytes) |
| Deprecated. More...
|
|
u32 | vnet_tx_node_index_for_sw_interface (struct vnet_main_t *vnm, u32 sw_if_index) |
|
void | vnet_rewrite_init (struct vnet_main_t *vnm, u32 sw_if_index, u32 this_node, u32 next_node, vnet_rewrite_header_t *rw) |
|
u8 * | vnet_build_rewrite_for_sw_interface (struct vnet_main_t *vnm, u32 sw_if_index, vnet_link_t packet_type, const void *dst_address) |
|
void | vnet_update_adjacency_for_sw_interface (struct vnet_main_t *vnm, u32 sw_if_index, u32 ai) |
|
#define vnet_declare_rewrite |
( |
|
total_bytes | ) |
|
Value:struct { \
vnet_rewrite_header_t rewrite_header; \
u8 rewrite_data[(total_bytes) -
sizeof (vnet_rewrite_header_t)]; \
}
Definition at line 84 of file rewrite.h.
#define VNET_REWRITE_FOR_SW_INTERFACE_ADDRESS_BROADCAST ((void *) 0) |
#define vnet_rewrite_one_header |
( |
|
rw0, |
|
|
|
p0, |
|
|
|
most_likely_size |
|
) |
| |
Value:_vnet_rewrite_one_header (&((rw0).rewrite_header), (p0), \
sizeof ((rw0).rewrite_data), \
(most_likely_size))
Definition at line 253 of file rewrite.h.
#define vnet_rewrite_set_data |
( |
|
rw, |
|
|
|
data, |
|
|
|
data_bytes |
|
) |
| |
Value: sizeof ((rw).rewrite_data), \
(data), \
(data_bytes))
static void vnet_rewrite_set_data_internal(vnet_rewrite_header_t *rw, int max_size, void *data, int data_bytes)
Definition at line 114 of file rewrite.h.
#define vnet_rewrite_two_headers |
( |
|
rw0, |
|
|
|
rw1, |
|
|
|
p0, |
|
|
|
p1, |
|
|
|
most_likely_size |
|
) |
| |
Value:_vnet_rewrite_two_headers (&((rw0).rewrite_header), &((rw1).rewrite_header), \
(p0), (p1), \
sizeof ((rw0).rewrite_data), \
(most_likely_size))
Definition at line 258 of file rewrite.h.
typedef CLIB_PACKED |
( |
struct{u32 sw_if_index;u32 node_index;u16 next_index;u16 data_bytes;u16 max_l3_packet_bytes;u8 data[0];} |
| ) |
|
u8* vnet_build_rewrite_for_sw_interface |
( |
struct vnet_main_t * |
vnm, |
|
|
u32 |
sw_if_index, |
|
|
vnet_link_t |
packet_type, |
|
|
const void * |
dst_address |
|
) |
| |
static void vnet_rewrite_clear_data_internal |
( |
vnet_rewrite_header_t * |
rw, |
|
|
int |
max_size |
|
) |
| |
|
inlinestatic |
void vnet_rewrite_for_sw_interface |
( |
struct vnet_main_t * |
vnm, |
|
|
vnet_link_t |
packet_type, |
|
|
u32 |
sw_if_index, |
|
|
u32 |
node_index, |
|
|
void * |
dst_address, |
|
|
vnet_rewrite_header_t * |
rw, |
|
|
u32 |
max_rewrite_bytes |
|
) |
| |
static void* vnet_rewrite_get_data_internal |
( |
vnet_rewrite_header_t * |
rw, |
|
|
int |
max_size |
|
) |
| |
|
inlinestatic |
void vnet_rewrite_init |
( |
struct vnet_main_t * |
vnm, |
|
|
u32 |
sw_if_index, |
|
|
u32 |
this_node, |
|
|
u32 |
next_node, |
|
|
vnet_rewrite_header_t * |
rw |
|
) |
| |
static void vnet_rewrite_set_data_internal |
( |
vnet_rewrite_header_t * |
rw, |
|
|
int |
max_size, |
|
|
void * |
data, |
|
|
int |
data_bytes |
|
) |
| |
|
inlinestatic |
u32 vnet_tx_node_index_for_sw_interface |
( |
struct vnet_main_t * |
vnm, |
|
|
u32 |
sw_if_index |
|
) |
| |
void vnet_update_adjacency_for_sw_interface |
( |
struct vnet_main_t * |
vnm, |
|
|
u32 |
sw_if_index, |
|
|
u32 |
ai |
|
) |
| |