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_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_l3_packet_type_t packet_type, u32 sw_if_index, u32 node_index, void *dst_address, vnet_rewrite_header_t *rw, u32 max_rewrite_bytes) |
|
void | vnet_rewrite_for_tunnel (struct vnet_main_t *vnm, u32 tx_sw_if_index, u32 rewrite_node_index, u32 post_rewrite_node_index, vnet_rewrite_header_t *rw, u8 *rewrite_data, u32 rewrite_length) |
|
#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 243 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 104 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 248 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];} |
| ) |
|
void vnet_rewrite_for_tunnel |
( |
struct vnet_main_t * |
vnm, |
|
|
u32 |
tx_sw_if_index, |
|
|
u32 |
rewrite_node_index, |
|
|
u32 |
post_rewrite_node_index, |
|
|
vnet_rewrite_header_t * |
rw, |
|
|
u8 * |
rewrite_data, |
|
|
u32 |
rewrite_length |
|
) |
| |
static void* vnet_rewrite_get_data_internal |
( |
vnet_rewrite_header_t * |
rw, |
|
|
int |
max_size |
|
) |
| |
|
inlinestatic |
static void vnet_rewrite_set_data_internal |
( |
vnet_rewrite_header_t * |
rw, |
|
|
int |
max_size, |
|
|
void * |
data, |
|
|
int |
data_bytes |
|
) |
| |
|
inlinestatic |