FreeBSD kernel IPv4 code
icmp_var.h File Reference
#include <sys/counter.h>
Include dependency graph for icmp_var.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  icmpstat
 

Macros

#define ICMPSTAT_ADD(name, val)    VNET_PCPUSTAT_ADD(struct icmpstat, icmpstat, name, (val))
 
#define ICMPSTAT_INC(name)   ICMPSTAT_ADD(name, 1)
 
#define KMOD_ICMPSTAT_INC(name)    kmod_icmpstat_inc(offsetof(struct icmpstat, name) / sizeof(uint64_t))
 
#define ICMPCTL_MASKREPL   1 /* allow replies to netmask requests */
 
#define ICMPCTL_STATS   2 /* statistics (read-only) */
 
#define ICMPCTL_ICMPLIM   3
 
#define BANDLIM_UNLIMITED   -1
 
#define BANDLIM_ICMP_UNREACH   0
 
#define BANDLIM_ICMP_ECHO   1
 
#define BANDLIM_ICMP_TSTAMP   2
 
#define BANDLIM_RST_CLOSEDPORT   3 /* No connection, and no listeners */
 
#define BANDLIM_RST_OPENPORT   4 /* No connection, listener */
 
#define BANDLIM_ICMP6_UNREACH   5
 
#define BANDLIM_SCTP_OOTB   6
 
#define BANDLIM_MAX   7
 

Functions

 VNET_PCPUSTAT_DECLARE (struct icmpstat, icmpstat)
 
void kmod_icmpstat_inc (int statnum)
 
 SYSCTL_DECL (_net_inet_icmp)
 
int badport_bandlim (int)
 

Macro Definition Documentation

◆ BANDLIM_ICMP6_UNREACH

#define BANDLIM_ICMP6_UNREACH   5

Definition at line 98 of file icmp_var.h.

◆ BANDLIM_ICMP_ECHO

#define BANDLIM_ICMP_ECHO   1

Definition at line 94 of file icmp_var.h.

◆ BANDLIM_ICMP_TSTAMP

#define BANDLIM_ICMP_TSTAMP   2

Definition at line 95 of file icmp_var.h.

◆ BANDLIM_ICMP_UNREACH

#define BANDLIM_ICMP_UNREACH   0

Definition at line 93 of file icmp_var.h.

◆ BANDLIM_MAX

#define BANDLIM_MAX   7

Definition at line 100 of file icmp_var.h.

◆ BANDLIM_RST_CLOSEDPORT

#define BANDLIM_RST_CLOSEDPORT   3 /* No connection, and no listeners */

Definition at line 96 of file icmp_var.h.

◆ BANDLIM_RST_OPENPORT

#define BANDLIM_RST_OPENPORT   4 /* No connection, listener */

Definition at line 97 of file icmp_var.h.

◆ BANDLIM_SCTP_OOTB

#define BANDLIM_SCTP_OOTB   6

Definition at line 99 of file icmp_var.h.

◆ BANDLIM_UNLIMITED

#define BANDLIM_UNLIMITED   -1

Definition at line 92 of file icmp_var.h.

◆ ICMPCTL_ICMPLIM

#define ICMPCTL_ICMPLIM   3

Definition at line 86 of file icmp_var.h.

◆ ICMPCTL_MASKREPL

#define ICMPCTL_MASKREPL   1 /* allow replies to netmask requests */

Definition at line 84 of file icmp_var.h.

◆ ICMPCTL_STATS

#define ICMPCTL_STATS   2 /* statistics (read-only) */

Definition at line 85 of file icmp_var.h.

◆ ICMPSTAT_ADD

#define ICMPSTAT_ADD (   name,
  val 
)     VNET_PCPUSTAT_ADD(struct icmpstat, icmpstat, name, (val))

Definition at line 69 of file icmp_var.h.

◆ ICMPSTAT_INC

#define ICMPSTAT_INC (   name)    ICMPSTAT_ADD(name, 1)

Definition at line 71 of file icmp_var.h.

◆ KMOD_ICMPSTAT_INC

#define KMOD_ICMPSTAT_INC (   name)     kmod_icmpstat_inc(offsetof(struct icmpstat, name) / sizeof(uint64_t))

Definition at line 77 of file icmp_var.h.

Function Documentation

◆ badport_bandlim()

int badport_bandlim ( int  which)

Definition at line 1115 of file ip_icmp.c.

References BANDLIM_MAX, BANDLIM_UNLIMITED, V_icmp_rates, V_icmplim, and V_icmplim_output.

Referenced by sctp_common_input_processing(), and tcp_dropwithreset().

Here is the caller graph for this function:

◆ kmod_icmpstat_inc()

void kmod_icmpstat_inc ( int  statnum)

◆ SYSCTL_DECL()

SYSCTL_DECL ( _net_inet_icmp  )

◆ VNET_PCPUSTAT_DECLARE()

VNET_PCPUSTAT_DECLARE ( struct icmpstat  ,
icmpstat   
)