Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/ip_var.h
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
#define MAX_IPOPTLEN 40 | #define MAX_IPOPTLEN 40 | ||||
struct ipoption { | struct ipoption { | ||||
struct in_addr ipopt_dst; /* first-hop dst if source routed */ | struct in_addr ipopt_dst; /* first-hop dst if source routed */ | ||||
char ipopt_list[MAX_IPOPTLEN]; /* options proper */ | char ipopt_list[MAX_IPOPTLEN]; /* options proper */ | ||||
}; | }; | ||||
#ifdef _NETINET_IN_VAR_H_ | |||||
/* | /* | ||||
* Structure attached to inpcb.ip_moptions and | * Structure attached to inpcb.ip_moptions and | ||||
* passed to ip_output when IP multicast options are in use. | * passed to ip_output when IP multicast options are in use. | ||||
* This structure is lazy-allocated. | * This structure is lazy-allocated. | ||||
*/ | */ | ||||
struct ip_moptions { | struct ip_moptions { | ||||
struct ifnet *imo_multicast_ifp; /* ifp for outgoing multicasts */ | struct ifnet *imo_multicast_ifp; /* ifp for outgoing multicasts */ | ||||
struct in_addr imo_multicast_addr; /* ifindex/addr on MULTICAST_IF */ | struct in_addr imo_multicast_addr; /* ifindex/addr on MULTICAST_IF */ | ||||
u_long imo_multicast_vif; /* vif num outgoing multicasts */ | u_long imo_multicast_vif; /* vif num outgoing multicasts */ | ||||
u_char imo_multicast_ttl; /* TTL for outgoing multicasts */ | u_char imo_multicast_ttl; /* TTL for outgoing multicasts */ | ||||
u_char imo_multicast_loop; /* 1 => hear sends if a member */ | u_char imo_multicast_loop; /* 1 => hear sends if a member */ | ||||
u_short imo_num_memberships; /* no. memberships this socket */ | ip_mfilter_head_t imo_head; /* group memberships */ | ||||
u_short imo_max_memberships; /* max memberships this socket */ | |||||
struct in_multi **imo_membership; /* group memberships */ | |||||
struct in_mfilter *imo_mfilters; /* source filters */ | |||||
struct epoch_context imo_epoch_ctx; | struct epoch_context imo_epoch_ctx; | ||||
markj: I meant to note earlier that imo_epoch_ctx appears to be unused. | |||||
}; | }; | ||||
#else | |||||
struct ip_moptions; | |||||
#endif | |||||
struct ipstat { | struct ipstat { | ||||
uint64_t ips_total; /* total packets received */ | uint64_t ips_total; /* total packets received */ | ||||
uint64_t ips_badsum; /* checksum bad */ | uint64_t ips_badsum; /* checksum bad */ | ||||
uint64_t ips_tooshort; /* packet too short */ | uint64_t ips_tooshort; /* packet too short */ | ||||
uint64_t ips_toosmall; /* not enough data */ | uint64_t ips_toosmall; /* not enough data */ | ||||
uint64_t ips_badhlen; /* ip header length < data size */ | uint64_t ips_badhlen; /* ip header length < data size */ | ||||
uint64_t ips_badlen; /* ip length < ip header length */ | uint64_t ips_badlen; /* ip length < ip header length */ | ||||
▲ Show 20 Lines • Show All 193 Lines • Show Last 20 Lines |
I meant to note earlier that imo_epoch_ctx appears to be unused.