FreeBSD kernel IPv4 code
inpcb Struct Reference

#include <in_pcb.h>

Collaboration diagram for inpcb:

Public Member Functions

 CK_LIST_ENTRY (inpcb) inp_hash
 
 TAILQ_ENTRY (inpcb) inp_hpts
 
 CK_LIST_ENTRY (inpcb) inp_portlist
 
 CK_LIST_ENTRY (inpcb) inp_list
 

Data Fields

struct rwlock inp_lock
 
uint32_t inp_hpts_gencnt
 
uint32_t inp_hpts_request
 
uint32_t inp_in_hpts
 
volatile uint16_t inp_hpts_cpu
 
volatile uint16_t inp_irq_cpu
 
u_int inp_refcount
 
int inp_flags
 
int inp_flags2
 
uint8_t inp_hpts_cpu_set:1
 
uint8_t inp_hpts_calls:1
 
uint8_t inp_irq_cpu_set:1
 
uint8_t inp_spare_bits2: 3
 
uint8_t inp_numa_domain
 
void * inp_ppcb
 
struct socket * inp_socket
 
int32_t inp_hptsslot
 
uint32_t inp_hpts_drop_reas
 
struct inpcbinfoinp_pcbinfo
 
struct ucred * inp_cred
 
u_int32_t inp_flow
 
u_char inp_vflag
 
u_char inp_ip_ttl
 
u_char inp_ip_p
 
u_char inp_ip_minttl
 
uint32_t inp_flowid
 
struct m_snd_tag * inp_snd_tag
 
uint32_t inp_flowtype
 
uint32_t inp_rss_listen_bucket
 
struct in_conninfo inp_inc
 
struct label * inp_label
 
struct inpcbpolicy * inp_sp
 
struct {
   u_char   inp_ip_tos
 
   struct mbuf *   inp_options
 
   struct ip_moptions *   inp_moptions
 
}; 
 
struct {
   struct mbuf *   in6p_options
 
   struct ip6_pktopts *   in6p_outputopts
 
   struct ip6_moptions *   in6p_moptions
 
   struct icmp6_filter *   in6p_icmp6filt
 
   int   in6p_cksum
 
   short   in6p_hops
 
}; 
 
struct inpcbportinp_phd
 
inp_gen_t inp_gencnt
 
void * spare_ptr
 
rt_gen_t inp_rt_cookie
 
union {
   struct route   inp_route
 
   struct route_in6   inp_route6
 
}; 
 

Detailed Description

Definition at line 217 of file in_pcb.h.

Member Function Documentation

◆ CK_LIST_ENTRY() [1/3]

inpcb::CK_LIST_ENTRY ( inpcb  )

◆ CK_LIST_ENTRY() [2/3]

inpcb::CK_LIST_ENTRY ( inpcb  )

◆ CK_LIST_ENTRY() [3/3]

inpcb::CK_LIST_ENTRY ( inpcb  )

◆ TAILQ_ENTRY()

inpcb::TAILQ_ENTRY ( inpcb  )

Field Documentation

◆ 

struct { ... } inpcb::@4

◆ 

struct { ... } inpcb::@6

◆ 

union { ... } inpcb::@8

◆ in6p_cksum

int inpcb::in6p_cksum

Definition at line 292 of file in_pcb.h.

Referenced by in_pcbtoxinpcb().

◆ in6p_hops

short inpcb::in6p_hops

Definition at line 293 of file in_pcb.h.

Referenced by in_pcbtoxinpcb(), syncache_socket(), and tcp_usr_attach().

◆ in6p_icmp6filt

struct icmp6_filter* inpcb::in6p_icmp6filt

Definition at line 290 of file in_pcb.h.

◆ in6p_moptions

struct ip6_moptions* inpcb::in6p_moptions

Definition at line 288 of file in_pcb.h.

Referenced by in_pcbfree().

◆ in6p_options

struct mbuf* inpcb::in6p_options

Definition at line 284 of file in_pcb.h.

◆ in6p_outputopts

struct ip6_pktopts* inpcb::in6p_outputopts

◆ inp_cred

◆ inp_flags

◆ inp_flags2

◆ inp_flow

u_int32_t inpcb::inp_flow

Definition at line 259 of file in_pcb.h.

Referenced by in_pcbtoxinpcb(), rack_set_sockopt(), syncache_socket(), and tcpip_fillheaders().

◆ inp_flowid

◆ inp_flowtype

◆ inp_gencnt

◆ inp_hpts_calls

uint8_t inpcb::inp_hpts_calls

Definition at line 249 of file in_pcb.h.

Referenced by bbr_output_wtime(), rack_output(), and tcp_hptsi().

◆ inp_hpts_cpu

volatile uint16_t inpcb::inp_hpts_cpu

◆ inp_hpts_cpu_set

uint8_t inpcb::inp_hpts_cpu_set

Definition at line 248 of file in_pcb.h.

Referenced by __tcp_set_hpts(), hpts_cpuid(), hpts_random_cpu(), and tcp_hptsi().

◆ inp_hpts_drop_reas

uint32_t inpcb::inp_hpts_drop_reas

Definition at line 256 of file in_pcb.h.

◆ inp_hpts_gencnt

uint32_t inpcb::inp_hpts_gencnt

Definition at line 226 of file in_pcb.h.

Referenced by inp_hpts_insert(), tcp_hpts_remove(), and tcp_hptsi().

◆ inp_hpts_request

uint32_t inpcb::inp_hpts_request

Definition at line 227 of file in_pcb.h.

Referenced by tcp_hpts_insert_diag(), tcp_hpts_remove(), and tcp_hptsi().

◆ inp_hptsslot

int32_t inpcb::inp_hptsslot

◆ inp_in_hpts

◆ inp_inc

◆ inp_ip_minttl

u_char inpcb::inp_ip_minttl

Definition at line 263 of file in_pcb.h.

Referenced by in_pcbtoxinpcb(), ip_ctloutput(), and tcp_input_with_port().

◆ inp_ip_p

u_char inpcb::inp_ip_p

Definition at line 262 of file in_pcb.h.

Referenced by div_attach(), and in_pcbtoxinpcb().

◆ inp_ip_tos

◆ inp_ip_ttl

◆ inp_irq_cpu

volatile uint16_t inpcb::inp_irq_cpu

Definition at line 244 of file in_pcb.h.

Referenced by hpts_cpuid().

◆ inp_irq_cpu_set

uint8_t inpcb::inp_irq_cpu_set

Definition at line 250 of file in_pcb.h.

Referenced by hpts_cpuid().

◆ inp_label

struct label* inpcb::inp_label

Definition at line 273 of file in_pcb.h.

◆ inp_lock

struct rwlock inpcb::inp_lock

Definition at line 220 of file in_pcb.h.

Referenced by inp_lock(), inp_trylock(), inp_unlock(), and sctp_inpcb_alloc().

◆ inp_moptions

struct ip_moptions* inpcb::inp_moptions

◆ inp_numa_domain

uint8_t inpcb::inp_numa_domain

Definition at line 252 of file in_pcb.h.

Referenced by hpts_cpuid(), in_pcballoc(), ip_output(), and syncache_socket().

◆ inp_options

◆ inp_pcbinfo

◆ inp_phd

struct inpcbport* inpcb::inp_phd

Definition at line 296 of file in_pcb.h.

Referenced by in_pcbdrop(), in_pcbfree(), and in_pcbinshash().

◆ inp_ppcb

◆ inp_refcount

u_int inpcb::inp_refcount

◆ inp_route

◆ inp_route6

struct route_in6 inpcb::inp_route6

◆ inp_rss_listen_bucket

uint32_t inpcb::inp_rss_listen_bucket

Definition at line 267 of file in_pcb.h.

Referenced by in_pcbtoxinpcb(), and ip_ctloutput().

◆ inp_rt_cookie

rt_gen_t inpcb::inp_rt_cookie

Definition at line 299 of file in_pcb.h.

Referenced by ip_output().

◆ inp_snd_tag

struct m_snd_tag* inpcb::inp_snd_tag

Definition at line 265 of file in_pcb.h.

Referenced by bbr_output_wtime(), in_pcbdetach(), ip_output_send(), and rack_get_pacing_delay().

◆ inp_socket

struct socket* inpcb::inp_socket

Definition at line 254 of file in_pcb.h.

Referenced by bbr_do_segment_nounlock(), bbr_fastack(), bbr_log_ack_clear(), bbr_log_ack_event(), bbr_log_doseg_done(), bbr_log_enobuf_jmp(), bbr_log_exit_gain(), bbr_log_flowend(), bbr_log_hpts_diag(), bbr_log_msgsize_fail(), bbr_log_pacing_delay_calc(), bbr_log_pkt_epoch(), bbr_log_progress_event(), bbr_log_rtt_sample(), bbr_log_rtt_shrinks(), bbr_log_set_of_state_target(), bbr_log_settings_change(), bbr_log_startup_event(), bbr_log_thresh_choice(), bbr_log_time_epoch(), bbr_log_timer_var(), bbr_log_to_cancel(), bbr_log_to_event(), bbr_log_to_processing(), bbr_log_to_start(), bbr_log_tstmp_validation(), bbr_log_type_bbrrttprop(), bbr_log_type_bbrsnd(), bbr_log_type_bbrupd(), bbr_log_type_bw_reduce(), bbr_log_type_cwndupd(), bbr_log_type_enter_rec(), bbr_log_type_exit_rec(), bbr_log_type_just_return(), bbr_log_type_ltbw(), bbr_log_type_pesist(), bbr_log_type_rsmclear(), bbr_log_type_rwnd_collapse(), bbr_log_type_statechange(), bbr_log_type_tsosize(), bbr_output_wtime(), bbr_process_ack(), bbr_process_data(), bbr_start_hpts_timer(), bbr_timeout_keepalive(), bbr_timeout_persist(), bbr_timeout_tlp(), bbr_timer_audit(), bbr_timer_start(), bbr_type_log_hdwr_pacing(), ctf_log_sack_filter(), cubic_log_hystart_event(), divert_packet(), in_pcballoc(), in_pcbdetach(), in_pcbdrop(), in_pcbfree(), in_pcbinslbgrouphash(), in_pcbrele_rlocked(), in_pcbrele_wlocked(), in_pcbtoxinpcb(), inp_getmoptions(), inp_inpcbtosocket(), inp_setmoptions(), ip_savecontrol(), newreno_log_hystart_event(), rack_do_compressed_ack_processing(), rack_do_goodput_measurement(), rack_do_segment_nounlock(), rack_do_win_updates(), rack_fast_output(), rack_fastack(), rack_gain_for_fastoutput(), rack_init(), rack_log_alt_to_to_cancel(), rack_log_doseg_done(), rack_log_dsack_event(), rack_log_hdwr_pacing(), rack_log_hpts_diag(), rack_log_input_packet(), rack_log_map_chg(), rack_log_pacing_delay_calc(), rack_log_progress_event(), rack_log_retran_reason(), rack_log_rtt_sample(), rack_log_rtt_sample_calc(), rack_log_rtt_shrinks(), rack_log_rtt_upd(), rack_log_timely(), rack_log_to_cancel(), rack_log_to_event(), rack_log_to_processing(), rack_log_to_prr(), rack_log_to_start(), rack_log_type_bbrsnd(), rack_log_type_just_return(), rack_log_type_pacing_sizes(), rack_log_wakeup(), rack_need_set_test(), rack_output(), rack_post_recovery(), rack_process_ack(), rack_process_data(), rack_process_timers(), rack_sndbuf_autoscale(), rack_start_gp_measurement(), rack_start_hpts_timer(), rack_timeout_keepalive(), rack_timeout_persist(), rack_timeout_tlp(), rack_timer_audit(), rack_timer_start(), rack_update_prr(), sctp_inpcb_alloc(), siftr_siftdata(), sysctl_drop(), sysctl_setsockopt(), tcp_close(), tcp_ctloutput_get(), tcp_ctloutput_set(), tcp_default_ctloutput(), tcp_default_fb_init(), tcp_default_output(), tcp_disconnect(), tcp_do_segment(), tcp_drop(), tcp_freecb(), tcp_hpts_log(), tcp_hptsi(), tcp_inptoxtp(), tcp_input_with_port(), tcp_log_flowend(), tcp_mss(), tcp_mtudisc(), tcp_reass(), tcp_respond(), tcp_timer_2msl(), tcp_timer_keep(), tcp_timer_persist(), tcp_timer_rexmt(), tcp_timers_unsuspend(), tcp_twclose(), tcp_twstart(), tcp_usr_abort(), tcp_usr_close(), tcp_usr_detach(), tcp_usr_send(), tcp_usrclosed(), toe_syncache_add(), and udp_notify().

◆ inp_sp

struct inpcbpolicy* inpcb::inp_sp

Definition at line 274 of file in_pcb.h.

Referenced by in_pcbfree().

◆ inp_spare_bits2

uint8_t inpcb::inp_spare_bits2

Definition at line 251 of file in_pcb.h.

◆ inp_vflag

◆ spare_ptr

void* inpcb::spare_ptr

Definition at line 298 of file in_pcb.h.


The documentation for this struct was generated from the following file: