Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/in_proto.c
Show First 20 Lines • Show All 116 Lines • ▼ Show 20 Lines | struct protosw inetsw[] = { | ||||
.pr_drain = ip_drain, | .pr_drain = ip_drain, | ||||
.pr_usrreqs = &nousrreqs | .pr_usrreqs = &nousrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_DGRAM, | .pr_type = SOCK_DGRAM, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_UDP, | .pr_protocol = IPPROTO_UDP, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_CAPATTACH, | .pr_flags = PR_ATOMIC|PR_ADDR|PR_CAPATTACH, | ||||
.pr_input = udp_input, | |||||
.pr_ctlinput = udp_ctlinput, | |||||
.pr_ctloutput = udp_ctloutput, | .pr_ctloutput = udp_ctloutput, | ||||
.pr_usrreqs = &udp_usrreqs | .pr_usrreqs = &udp_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_STREAM, | .pr_type = SOCK_STREAM, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_TCP, | .pr_protocol = IPPROTO_TCP, | ||||
.pr_flags = PR_CONNREQUIRED|PR_IMPLOPCL|PR_WANTRCVD| | .pr_flags = PR_CONNREQUIRED|PR_IMPLOPCL|PR_WANTRCVD| | ||||
PR_CAPATTACH, | PR_CAPATTACH, | ||||
.pr_input = tcp_input, | |||||
.pr_ctlinput = tcp_ctlinput, | |||||
.pr_ctloutput = tcp_ctloutput, | .pr_ctloutput = tcp_ctloutput, | ||||
.pr_slowtimo = tcp_slowtimo, | .pr_slowtimo = tcp_slowtimo, | ||||
.pr_drain = tcp_drain, | .pr_drain = tcp_drain, | ||||
.pr_usrreqs = &tcp_usrreqs | .pr_usrreqs = &tcp_usrreqs | ||||
}, | }, | ||||
#ifdef SCTP | #ifdef SCTP | ||||
{ | { | ||||
.pr_type = SOCK_SEQPACKET, | .pr_type = SOCK_SEQPACKET, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_SCTP, | .pr_protocol = IPPROTO_SCTP, | ||||
.pr_flags = PR_WANTRCVD, | .pr_flags = PR_WANTRCVD, | ||||
.pr_input = sctp_input, | |||||
.pr_ctlinput = sctp_ctlinput, | |||||
.pr_ctloutput = sctp_ctloutput, | .pr_ctloutput = sctp_ctloutput, | ||||
.pr_drain = sctp_drain, | .pr_drain = sctp_drain, | ||||
.pr_usrreqs = &sctp_usrreqs | .pr_usrreqs = &sctp_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_STREAM, | .pr_type = SOCK_STREAM, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_SCTP, | .pr_protocol = IPPROTO_SCTP, | ||||
.pr_flags = PR_CONNREQUIRED|PR_WANTRCVD, | .pr_flags = PR_CONNREQUIRED|PR_WANTRCVD, | ||||
.pr_input = sctp_input, | |||||
.pr_ctlinput = sctp_ctlinput, | |||||
.pr_ctloutput = sctp_ctloutput, | .pr_ctloutput = sctp_ctloutput, | ||||
.pr_drain = NULL, /* Covered by the SOCK_SEQPACKET entry. */ | .pr_drain = NULL, /* Covered by the SOCK_SEQPACKET entry. */ | ||||
.pr_usrreqs = &sctp_usrreqs | .pr_usrreqs = &sctp_usrreqs | ||||
}, | }, | ||||
#endif /* SCTP */ | #endif /* SCTP */ | ||||
{ | { | ||||
.pr_type = SOCK_DGRAM, | .pr_type = SOCK_DGRAM, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_UDPLITE, | .pr_protocol = IPPROTO_UDPLITE, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_CAPATTACH, | .pr_flags = PR_ATOMIC|PR_ADDR|PR_CAPATTACH, | ||||
.pr_input = udp_input, | |||||
.pr_ctlinput = udplite_ctlinput, | |||||
.pr_ctloutput = udp_ctloutput, | .pr_ctloutput = udp_ctloutput, | ||||
.pr_usrreqs = &udp_usrreqs | .pr_usrreqs = &udp_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_RAW, | .pr_protocol = IPPROTO_RAW, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = rip_input, | |||||
.pr_ctlinput = rip_ctlinput, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_ICMP, | .pr_protocol = IPPROTO_ICMP, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = icmp_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_IGMP, | .pr_protocol = IPPROTO_IGMP, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = igmp_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_fasttimo = igmp_fasttimo, | .pr_fasttimo = igmp_fasttimo, | ||||
.pr_slowtimo = igmp_slowtimo, | .pr_slowtimo = igmp_slowtimo, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_RSVP, | .pr_protocol = IPPROTO_RSVP, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = rsvp_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_IPV4, | .pr_protocol = IPPROTO_IPV4, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = encap4_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_MOBILE, | .pr_protocol = IPPROTO_MOBILE, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = encap4_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_ETHERIP, | .pr_protocol = IPPROTO_ETHERIP, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = encap4_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_GRE, | .pr_protocol = IPPROTO_GRE, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = encap4_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
# ifdef INET6 | # ifdef INET6 | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_IPV6, | .pr_protocol = IPPROTO_IPV6, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = encap4_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
#endif | #endif | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_protocol = IPPROTO_PIM, | .pr_protocol = IPPROTO_PIM, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = encap4_input, | |||||
.pr_ctloutput = rip_ctloutput, | .pr_ctloutput = rip_ctloutput, | ||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
/* Spacer n-times for loadable protocols. */ | /* Spacer n-times for loadable protocols. */ | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
IPPROTOSPACER, | IPPROTOSPACER, | ||||
/* raw wildcard */ | /* raw wildcard */ | ||||
{ | { | ||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &inetdomain, | .pr_domain = &inetdomain, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_input = rip_input, | |||||
.pr_ctloutput = rip_ctloutput, | |||||
.pr_usrreqs = &rip_usrreqs | .pr_usrreqs = &rip_usrreqs | ||||
}, | }, | ||||
}; | }; | ||||
struct domain inetdomain = { | struct domain inetdomain = { | ||||
.dom_family = AF_INET, | .dom_family = AF_INET, | ||||
.dom_name = "internet", | .dom_name = "internet", | ||||
.dom_protosw = inetsw, | .dom_protosw = inetsw, | ||||
▲ Show 20 Lines • Show All 46 Lines • Show Last 20 Lines |