FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
mss_clamp_node.c File Reference
+ Include dependency graph for mss_clamp_node.c:

Go to the source code of this file.

Data Structures

struct  mssc_trace_t_
 

Typedefs

typedef struct mssc_trace_t_ mssc_trace_t
 

Enumerations

enum  mssc_next_t { MSSC_NEXT_DROP, MSSC_N_NEXT }
 

Functions

static u8format_mssc_trace (u8 *s, va_list *args)
 
static u32 mssc_mss_fixup (vlib_buffer_t *b0, tcp_header_t *tcp0, u16 max_mss0)
 
static uword mssc_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, vlib_dir_t dir, fib_protocol_t fproto)
 
static uword mssc_ip4_in (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword mssc_ip4_out (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword mssc_ip6_in (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword mssc_ip6_out (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_FEATURE_INIT (mssc_ip4_in_feat, static)
 
 VNET_FEATURE_INIT (mssc_ip4_out_feat, static)
 
 VNET_FEATURE_INIT (mssc_ip6_in_feat, static)
 
 VNET_FEATURE_INIT (mssc_ip6_out_feat, static)
 

Variables

vlib_node_registration_t mssc_ip4_in_node
 (constructor) VLIB_REGISTER_NODE (mssc_ip4_in_node) More...
 
vlib_node_registration_t mssc_ip4_out_node
 (constructor) VLIB_REGISTER_NODE (mssc_ip4_out_node) More...
 
vlib_node_registration_t mssc_ip6_in_node
 (constructor) VLIB_REGISTER_NODE (mssc_ip6_in_node) More...
 
vlib_node_registration_t mssc_ip6_out_node
 (constructor) VLIB_REGISTER_NODE (mssc_ip6_out_node) More...
 

Typedef Documentation

◆ mssc_trace_t

typedef struct mssc_trace_t_ mssc_trace_t

Enumeration Type Documentation

◆ mssc_next_t

Enumerator
MSSC_NEXT_DROP 
MSSC_N_NEXT 

Definition at line 49 of file mss_clamp_node.c.

Function Documentation

◆ format_mssc_trace()

static u8* format_mssc_trace ( u8 s,
va_list *  args 
)
static

Definition at line 39 of file mss_clamp_node.c.

◆ mssc_inline()

static uword mssc_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
vlib_dir_t  dir,
fib_protocol_t  fproto 
)
inlinestatic

Definition at line 118 of file mss_clamp_node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mssc_ip4_in()

static uword mssc_ip4_in ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 292 of file mss_clamp_node.c.

+ Here is the call graph for this function:

◆ mssc_ip4_out()

static uword mssc_ip4_out ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 298 of file mss_clamp_node.c.

+ Here is the call graph for this function:

◆ mssc_ip6_in()

static uword mssc_ip6_in ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 304 of file mss_clamp_node.c.

+ Here is the call graph for this function:

◆ mssc_ip6_out()

static uword mssc_ip6_out ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 310 of file mss_clamp_node.c.

+ Here is the call graph for this function:

◆ mssc_mss_fixup()

static u32 mssc_mss_fixup ( vlib_buffer_t b0,
tcp_header_t tcp0,
u16  max_mss0 
)
inlinestatic

Definition at line 60 of file mss_clamp_node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VNET_FEATURE_INIT() [1/4]

VNET_FEATURE_INIT ( mssc_ip4_in_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [2/4]

VNET_FEATURE_INIT ( mssc_ip4_out_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [3/4]

VNET_FEATURE_INIT ( mssc_ip6_in_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [4/4]

VNET_FEATURE_INIT ( mssc_ip6_out_feat  ,
static   
)

Variable Documentation

◆ mssc_ip4_in_node

vlib_node_registration_t mssc_ip4_in_node
Initial value:
=
{
.function = mssc_ip4_in,
.name = "tcp-mss-clamping-ip4-in",
.vector_size = sizeof (u32),
.format_trace = format_mssc_trace,
.n_errors = MSS_CLAMP_N_ERROR,
.error_counters = mss_clamp_error_counters,
.n_next_nodes = MSSC_N_NEXT,
.next_nodes = {
[MSSC_NEXT_DROP] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (mssc_ip4_in_node)

Definition at line 315 of file mss_clamp_node.c.

◆ mssc_ip4_out_node

vlib_node_registration_t mssc_ip4_out_node
Initial value:
=
{
.function = mssc_ip4_out,
.name = "tcp-mss-clamping-ip4-out",
.vector_size = sizeof (u32),
.format_trace = format_mssc_trace,
.n_errors = MSS_CLAMP_N_ERROR,
.error_counters = mss_clamp_error_counters,
.n_next_nodes = MSSC_N_NEXT,
.next_nodes = {
[MSSC_NEXT_DROP] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (mssc_ip4_out_node)

Definition at line 28 of file mss_clamp_node.c.

◆ mssc_ip6_in_node

vlib_node_registration_t mssc_ip6_in_node
Initial value:
=
{
.function = mssc_ip6_in,
.name = "tcp-mss-clamping-ip6-in",
.vector_size = sizeof (u32),
.format_trace = format_mssc_trace,
.n_errors = MSS_CLAMP_N_ERROR,
.error_counters = mss_clamp_error_counters,
.n_next_nodes = MSSC_N_NEXT,
.next_nodes = {
[MSSC_NEXT_DROP] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (mssc_ip6_in_node)

Definition at line 349 of file mss_clamp_node.c.

◆ mssc_ip6_out_node

vlib_node_registration_t mssc_ip6_out_node
Initial value:
=
{
.function = mssc_ip6_out,
.name = "tcp-mss-clamping-ip6-out",
.vector_size = sizeof (u32),
.format_trace = format_mssc_trace,
.n_errors = MSS_CLAMP_N_ERROR,
.error_counters = mss_clamp_error_counters,
.n_next_nodes = MSSC_N_NEXT,
.next_nodes = {
[MSSC_NEXT_DROP] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (mssc_ip6_out_node)

Definition at line 29 of file mss_clamp_node.c.

VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
format_mssc_trace
static u8 * format_mssc_trace(u8 *s, va_list *args)
Definition: mss_clamp_node.c:39
MSSC_N_NEXT
@ MSSC_N_NEXT
Definition: mss_clamp_node.c:52
MSSC_NEXT_DROP
@ MSSC_NEXT_DROP
Definition: mss_clamp_node.c:51
mssc_ip6_out
static uword mssc_ip6_out(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: mss_clamp_node.c:310
mssc_ip4_in
static uword mssc_ip4_in(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: mss_clamp_node.c:292
mssc_ip6_in
static uword mssc_ip6_in(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: mss_clamp_node.c:304
u32
unsigned int u32
Definition: types.h:88
mssc_ip4_out
static uword mssc_ip4_out(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: mss_clamp_node.c:298
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123