Dead since the IPV6_PKTOPTIONS socket option was removed.
ok?
Index: ip6_output.c
===================================================================
RCS file: /cvs/src/sys/netinet6/ip6_output.c,v
retrieving revision 1.214
diff -u -p -r1.214 ip6_output.c
--- ip6_output.c 14 Sep 2016 15:26:05 -0000 1.214
+++ ip6_output.c 14 Sep 2016 15:50:52 -0000
@@ -117,7 +117,6 @@ struct ip6_exthdrs {
};
int ip6_pcbopt(int, u_char *, int, struct ip6_pktopts **, int, int);
-int ip6_pcbopts(struct ip6_pktopts **, struct mbuf *, struct socket *);
int ip6_getpcbopt(struct ip6_pktopts *, int, struct mbuf **);
int ip6_setpktopt(int, u_char *, int, struct ip6_pktopts *, int, int, int);
int ip6_setmoptions(int, struct ip6_moptions **, struct mbuf *);
@@ -1698,48 +1697,6 @@ ip6_raw_ctloutput(int op, struct socket
(void)m_free(m);
return (error);
-}
-
-/*
- * Set up IP6 options in pcb for insertion in output packets.
- * Store in mbuf with pointer in pcbopt, adding pseudo-option
- * with destination address if source routed.
- */
-int
-ip6_pcbopts(struct ip6_pktopts **pktopt, struct mbuf *m, struct socket *so)
-{
- struct ip6_pktopts *opt = *pktopt;
- int error = 0;
- struct proc *p = curproc; /* XXX */
- int priv = 0;
-
- /* turn off any old options. */
- if (opt)
- ip6_clearpktopts(opt, -1);
- else
- opt = malloc(sizeof(*opt), M_IP6OPT, M_WAITOK);
- *pktopt = 0;
-
- if (!m || m->m_len == 0) {
- /*
- * Only turning off any previous options, regardless of
- * whether the opt is just created or given.
- */
- free(opt, M_IP6OPT, sizeof(*opt));
- return (0);
- }
-
- /* set options specified by user. */
- if (p && !suser(p, 0))
- priv = 1;
- if ((error = ip6_setpktopts(m, opt, NULL, priv,
- so->so_proto->pr_protocol)) != 0) {
- ip6_clearpktopts(opt, -1); /* XXX discard all options */
- free(opt, M_IP6OPT, sizeof(*opt));
- return (error);
- }
- *pktopt = opt;
- return (0);
}
/*
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE