protosw: retire pr_output method
The only place to execute this method was raw_usend(). Only those protocols that used raw socket were able to actually enter that method. All pr_output assignments being deleted by this commit were a dead code for many years. Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36126
This commit is contained in:
parent
f63cb32c19
commit
8c77967ecc
@ -319,7 +319,6 @@ db_print_protosw(struct protosw *pr, const char *prname, int indent)
|
||||
|
||||
db_print_indent(indent);
|
||||
db_printf("pr_input: %p ", pr->pr_input);
|
||||
db_printf("pr_output: %p ", pr->pr_output);
|
||||
db_printf("pr_ctlinput: %p\n", pr->pr_ctlinput);
|
||||
db_printf("pr_ctloutput: %p ", pr->pr_ctloutput);
|
||||
|
||||
|
@ -451,7 +451,6 @@ pf_proto_unregister(int family, int protocol, int type)
|
||||
dpr->pr_protocol = PROTO_SPACER;
|
||||
dpr->pr_flags = 0;
|
||||
dpr->pr_input = NULL;
|
||||
dpr->pr_output = NULL;
|
||||
dpr->pr_ctlinput = NULL;
|
||||
dpr->pr_ctloutput = NULL;
|
||||
dpr->pr_fasttimo = NULL;
|
||||
|
@ -2182,7 +2182,6 @@ static struct protosw in_carp_protosw = {
|
||||
.pr_protocol = IPPROTO_CARP,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR,
|
||||
.pr_input = carp_input,
|
||||
.pr_output = rip_output,
|
||||
.pr_ctloutput = rip_ctloutput,
|
||||
.pr_usrreqs = &rip_usrreqs
|
||||
};
|
||||
@ -2196,7 +2195,6 @@ static struct protosw in6_carp_protosw = {
|
||||
.pr_protocol = IPPROTO_CARP,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR,
|
||||
.pr_input = carp6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
};
|
||||
|
@ -217,7 +217,6 @@ struct protosw inet6sw[] = {
|
||||
.pr_protocol = IPPROTO_RAW,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR,
|
||||
.pr_input = rip6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctlinput = rip6_ctlinput,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
@ -228,7 +227,6 @@ struct protosw inet6sw[] = {
|
||||
.pr_protocol = IPPROTO_ICMPV6,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR,
|
||||
.pr_input = icmp6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctlinput = rip6_ctlinput,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_fasttimo = icmp6_fasttimo,
|
||||
@ -266,7 +264,6 @@ struct protosw inet6sw[] = {
|
||||
.pr_protocol = IPPROTO_IPV4,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR,
|
||||
.pr_input = encap6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
},
|
||||
@ -277,7 +274,6 @@ struct protosw inet6sw[] = {
|
||||
.pr_protocol = IPPROTO_IPV6,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR,
|
||||
.pr_input = encap6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
},
|
||||
@ -296,7 +292,6 @@ struct protosw inet6sw[] = {
|
||||
.pr_protocol = IPPROTO_GRE,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR,
|
||||
.pr_input = encap6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
},
|
||||
@ -306,7 +301,6 @@ struct protosw inet6sw[] = {
|
||||
.pr_protocol = IPPROTO_PIM,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR,
|
||||
.pr_input = encap6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
},
|
||||
@ -325,7 +319,6 @@ IP6PROTOSPACER,
|
||||
.pr_domain = &inet6domain,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR,
|
||||
.pr_input = rip6_input,
|
||||
.pr_output = rip6_output,
|
||||
.pr_ctloutput = rip6_ctloutput,
|
||||
.pr_usrreqs = &rip6_usrreqs
|
||||
},
|
||||
|
@ -2429,7 +2429,6 @@ static struct protosw in_pfsync_protosw = {
|
||||
.pr_protocol = IPPROTO_PFSYNC,
|
||||
.pr_flags = PR_ATOMIC|PR_ADDR,
|
||||
.pr_input = pfsync_input,
|
||||
.pr_output = rip_output,
|
||||
.pr_ctloutput = rip_ctloutput,
|
||||
.pr_usrreqs = &rip_usrreqs
|
||||
};
|
||||
|
@ -57,19 +57,11 @@ struct sockopt;
|
||||
* The system will call the pr_drain entry if it is low on space and
|
||||
* this should throw away any non-critical data.
|
||||
*
|
||||
* Protocols pass data between themselves as chains of mbufs using
|
||||
* the pr_input and pr_output hooks. Pr_input passes data up (towards
|
||||
* the users) and pr_output passes it down (towards the interfaces); control
|
||||
* information passes up and down on pr_ctlinput and pr_ctloutput.
|
||||
* The protocol is responsible for the space occupied by any the
|
||||
* arguments to these entries and must dispose it.
|
||||
*
|
||||
* In retrospect, it would be a lot nicer to use an interface
|
||||
* similar to the vnode VOP interface.
|
||||
*/
|
||||
/* USE THESE FOR YOUR PROTOTYPES ! */
|
||||
typedef int pr_input_t (struct mbuf **, int*, int);
|
||||
typedef int pr_output_t (struct mbuf *, struct socket *, ...);
|
||||
typedef void pr_ctlinput_t (int, struct sockaddr *, void *);
|
||||
typedef int pr_ctloutput_t (struct socket *, struct sockopt *);
|
||||
typedef void pr_fasttimo_t (void);
|
||||
@ -83,7 +75,6 @@ struct protosw {
|
||||
short pr_flags; /* see below */
|
||||
/* protocol-protocol hooks */
|
||||
pr_input_t *pr_input; /* input to protocol (from below) */
|
||||
pr_output_t *pr_output; /* output to protocol (from above) */
|
||||
pr_ctlinput_t *pr_ctlinput; /* control input (from below) */
|
||||
pr_ctloutput_t *pr_ctloutput; /* control output (from above) */
|
||||
/* utility hooks */
|
||||
|
Loading…
Reference in New Issue
Block a user