FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
sctp_output_node.c File Reference
+ Include dependency graph for sctp_output_node.c:

Go to the source code of this file.

Data Structures

struct  sctp_tx_trace_t
 

Macros

#define foreach_sctp4_output_next
 
#define foreach_sctp6_output_next
 
#define sctp_error(n, s)   s,
 

Typedefs

typedef enum _sctp_output_next sctp_output_next_t
 

Functions

u32 ip6_sctp_compute_checksum (vlib_main_t *vm, vlib_buffer_t *p0, ip6_header_t *ip0, int *bogus_lengthp)
 
u32 ip4_sctp_compute_checksum (vlib_main_t *vm, vlib_buffer_t *p0, ip4_header_t *ip0)
 
static u8 sctp_is_retransmitting (sctp_connection_t *sctp_conn, u8 idx)
 
static uword sctp46_output_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int is_ip4)
 
VLIB_NODE_FN() sctp4_output_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() sctp6_output_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 

Variables

static char * sctp_error_strings []
 
vlib_node_registration_t sctp4_output_node
 (constructor) VLIB_REGISTER_NODE (sctp4_output_node) More...
 
vlib_node_registration_t sctp6_output_node
 (constructor) VLIB_REGISTER_NODE (sctp6_output_node) More...
 

Macro Definition Documentation

◆ foreach_sctp4_output_next

#define foreach_sctp4_output_next
Value:
_ (DROP, "error-drop") \
_ (IP_LOOKUP, "ip4-lookup")
DROP
Definition: error.def:41

Definition at line 28 of file sctp_output_node.c.

◆ foreach_sctp6_output_next

#define foreach_sctp6_output_next
Value:
_ (DROP, "error-drop") \
_ (IP_LOOKUP, "ip6-lookup")
DROP
Definition: error.def:41

Definition at line 32 of file sctp_output_node.c.

◆ sctp_error

#define sctp_error (   n,
 
)    s,

Typedef Documentation

◆ sctp_output_next_t

typedef enum _sctp_output_next sctp_output_next_t

Function Documentation

◆ ip4_sctp_compute_checksum()

u32 ip4_sctp_compute_checksum ( vlib_main_t vm,
vlib_buffer_t p0,
ip4_header_t ip0 
)

Definition at line 67 of file sctp_output.c.

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

◆ ip6_sctp_compute_checksum()

u32 ip6_sctp_compute_checksum ( vlib_main_t vm,
vlib_buffer_t p0,
ip6_header_t ip0,
int *  bogus_lengthp 
)

Definition at line 124 of file sctp_output.c.

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

◆ sctp46_output_inline()

static uword sctp46_output_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  is_ip4 
)
inlinestatic

Definition at line 62 of file sctp_output_node.c.

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

◆ sctp4_output_node()

VLIB_NODE_FN() sctp4_output_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 339 of file sctp_output_node.c.

+ Here is the call graph for this function:

◆ sctp6_output_node()

VLIB_NODE_FN() sctp6_output_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 346 of file sctp_output_node.c.

+ Here is the call graph for this function:

◆ sctp_is_retransmitting()

static u8 sctp_is_retransmitting ( sctp_connection_t sctp_conn,
u8  idx 
)
inlinestatic

Definition at line 56 of file sctp_output_node.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ sctp4_output_node

vlib_node_registration_t sctp4_output_node
Initial value:
=
{
.name = "sctp4-output",
.vector_size = sizeof (u32),
.n_errors = SCTP_N_ERROR,
.error_strings = sctp_error_strings,
.n_next_nodes = SCTP_OUTPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_buffer = format_sctp_header,
.format_trace = format_sctp_tx_trace,
}
unsigned int u32
Definition: types.h:88
static char * sctp_error_strings[]
u8 * format_sctp_tx_trace(u8 *s, va_list *args)
Definition: sctp_format.c:26
#define foreach_sctp4_output_next
u8 * format_sctp_header(u8 *s, va_list *args)
Definition: sctp_format.c:20

(constructor) VLIB_REGISTER_NODE (sctp4_output_node)

Definition at line 354 of file sctp_output_node.c.

◆ sctp6_output_node

vlib_node_registration_t sctp6_output_node
Initial value:
=
{
.name = "sctp6-output",
.vector_size = sizeof (u32),
.n_errors = SCTP_N_ERROR,
.error_strings = sctp_error_strings,
.n_next_nodes = SCTP_OUTPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_buffer = format_sctp_header,
.format_trace = format_sctp_tx_trace,
}
#define foreach_sctp6_output_next
unsigned int u32
Definition: types.h:88
static char * sctp_error_strings[]
u8 * format_sctp_tx_trace(u8 *s, va_list *args)
Definition: sctp_format.c:26
u8 * format_sctp_header(u8 *s, va_list *args)
Definition: sctp_format.c:20

(constructor) VLIB_REGISTER_NODE (sctp6_output_node)

Definition at line 373 of file sctp_output_node.c.

◆ sctp_error_strings

char* sctp_error_strings[]
static
Initial value:
= {
#define sctp_error(n,s)
}

Definition at line 36 of file sctp_output_node.c.