Hi,

Remove rip_output() and rip6_output() from inetsw and inet6sw.  The
rip_output() function is never called via the pr_output pointer.
rip_usrreq(PRU_SEND) calls rip_output() directly.  raw_usrreq() is
never called from inetsw.  Situation in inet and inet6 is analog.

ok?

bluhm

Index: netinet/in_proto.c
===================================================================
RCS file: /cvs/src/sys/netinet/in_proto.c,v
retrieving revision 1.76
diff -u -p -r1.76 in_proto.c
--- netinet/in_proto.c  13 Mar 2017 20:18:21 -0000      1.76
+++ netinet/in_proto.c  9 May 2017 11:21:39 -0000
@@ -215,7 +215,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_RAW,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = rip_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach
@@ -226,7 +225,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_ICMP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = icmp_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -240,7 +238,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_IPV4,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = in_gif_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -253,7 +250,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_ETHERIP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = etherip_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -266,7 +262,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_IPV6,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = in_gif_input,
-  .pr_output   = rip_output,
   .pr_usrreq   = rip_usrreq, /* XXX */
   .pr_attach   = rip_attach
 },
@@ -278,7 +273,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_MPLS,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = etherip_input,
-  .pr_output   = rip_output,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach
 },
@@ -290,7 +284,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_IPIP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ip4_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -304,7 +297,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_IPV6,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ip4_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq, /* XXX */
   .pr_attach   = rip_attach
@@ -317,7 +309,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_IGMP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = igmp_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -333,7 +324,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_AH,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ah4_input,
-  .pr_output   = rip_output,
   .pr_ctlinput = ah4_ctlinput,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
@@ -346,7 +336,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_ESP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = esp4_input,
-  .pr_output   = rip_output,
   .pr_ctlinput = esp4_ctlinput,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
@@ -359,7 +348,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_IPCOMP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ipcomp4_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -373,7 +361,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_GRE,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = gre_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = gre_usrreq,
   .pr_attach   = rip_attach,
@@ -385,7 +372,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_MOBILE,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = gre_mobile_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -399,7 +385,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_CARP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = carp_proto_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -413,7 +398,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_PFSYNC,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = pfsync_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -440,7 +424,6 @@ struct protosw inetsw[] = {
   .pr_protocol = IPPROTO_ETHERIP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ip_etherip_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
@@ -453,7 +436,6 @@ struct protosw inetsw[] = {
   .pr_domain   = &inetdomain,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = rip_input,
-  .pr_output   = rip_output,
   .pr_ctloutput        = rip_ctloutput,
   .pr_usrreq   = rip_usrreq,
   .pr_attach   = rip_attach,
Index: netinet6/in6_proto.c
===================================================================
RCS file: /cvs/src/sys/netinet6/in6_proto.c,v
retrieving revision 1.91
diff -u -p -r1.91 in6_proto.c
--- netinet6/in6_proto.c        13 Mar 2017 20:18:21 -0000      1.91
+++ netinet6/in6_proto.c        9 May 2017 11:21:40 -0000
@@ -160,7 +160,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_usrreq   = rip6_usrreq,
@@ -173,7 +172,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_ICMPV6,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = icmp6_input,
-  .pr_output   = rip6_output,
   .pr_ctlinput = rip6_ctlinput,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
@@ -210,7 +208,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_AH,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ah6_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,
@@ -222,7 +219,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_ESP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = esp6_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,
@@ -234,7 +230,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_IPCOMP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ipcomp6_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,
@@ -248,7 +243,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_ETHERIP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = etherip_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,
@@ -260,7 +254,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_IPV6,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = in6_gif_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,  /* XXX */
   .pr_attach   = rip6_attach
@@ -271,7 +264,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_IPV4,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = in6_gif_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,  /* XXX */
   .pr_attach   = rip6_attach
@@ -283,7 +275,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_IPV6,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ip4_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,  /* XXX */
   .pr_attach   = rip6_attach,
@@ -295,7 +286,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_IPV4,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ip4_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,  /* XXX */
   .pr_attach   = rip6_attach
@@ -308,7 +298,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_CARP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = carp6_proto_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,
@@ -335,7 +324,6 @@ struct protosw inet6sw[] = {
   .pr_protocol = IPPROTO_ETHERIP,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = ip6_etherip_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,
@@ -348,7 +336,6 @@ struct protosw inet6sw[] = {
   .pr_domain   = &inet6domain,
   .pr_flags    = PR_ATOMIC|PR_ADDR,
   .pr_input    = rip6_input,
-  .pr_output   = rip6_output,
   .pr_ctloutput        = rip6_ctloutput,
   .pr_usrreq   = rip6_usrreq,
   .pr_attach   = rip6_attach,

Reply via email to