• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/xnu-2782.1.97/bsd/netinet6/

Lines Matching refs:in6p

144 udp6_output(struct in6pcb *in6p, struct mbuf *m, struct sockaddr *addr6,
164 struct socket *so = in6p->in6p_socket;
171 if (flowadv && INP_WAIT_FOR_IF_FEEDBACK(in6p)) {
176 if (in6p->inp_flags & INP_BOUND_IF) {
177 ip6oa.ip6oa_boundif = in6p->inp_boundifp->if_index;
180 if (INP_NO_CELLULAR(in6p))
182 if (INP_NO_EXPENSIVE(in6p))
184 if (INP_AWDL_UNRESTRICTED(in6p))
194 optp = in6p->in6p_outputopts;
214 if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) {
228 if ((in6p->in6p_flags & IN6P_IPV6_V6ONLY)) {
247 if (in6_embedscope(&sin6->sin6_addr, sin6, in6p, NULL,
255 in6p, &in6p->in6p_route, NULL, &storage,
258 laddr = &in6p->in6p_laddr; /* XXX */
264 if (in6p->in6p_lport == 0 &&
265 (error = in6_pcbsetport(laddr, in6p, p, 0)) != 0)
268 if (IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) {
272 if (IN6_IS_ADDR_V4MAPPED(&in6p->in6p_faddr)) {
273 if ((in6p->in6p_flags & IN6P_IPV6_V6ONLY)) {
288 laddr = &in6p->in6p_laddr;
289 faddr = &in6p->in6p_faddr;
290 fport = in6p->in6p_fport;
293 if (in6p->inp_flowhash == 0)
294 in6p->inp_flowhash = inp_calc_flowhash(in6p);
296 if (in6p->inp_flow == 0 && in6p->in6p_flags & IN6P_AUTOFLOWLABEL) {
297 in6p->inp_flow &= ~IPV6_FLOWLABEL_MASK;
298 in6p->inp_flow |=
299 (htonl(in6p->inp_flowhash) & IPV6_FLOWLABEL_MASK);
319 udp6->uh_sport = in6p->in6p_lport; /* lport is always set in the PCB */
330 ip6->ip6_flow = in6p->inp_flow & IPV6_FLOWINFO_MASK;
337 ip6->ip6_hlim = in6_selecthlim(in6p, in6p->in6p_route.ro_rt ?
338 in6p->in6p_route.ro_rt->rt_ifp : NULL);
357 if (!necp_socket_is_allowed_to_send_recv_v6(in6p, in6p->in6p_lport, fport, laddr, faddr, NULL, &policy_id)) {
362 necp_mark_packet_from_socket(m, in6p, policy_id);
367 if (in6p->in6p_sp != NULL && ipsec_setsocket(m, so) != 0) {
374 if (ROUTE_UNUSABLE(&in6p->in6p_route) ||
375 rt_key(in6p->in6p_route.ro_rt)->sa_family != AF_INET6)
376 ROUTE_RELEASE(&in6p->in6p_route);
379 in6p_route_copyout(in6p, &ro);
384 m->m_pkthdr.pkt_flowid = in6p->inp_flowhash;
390 im6o = in6p->in6p_moptions;
396 in6p->in6p_last_outifp =
402 in6p->inp_sndinprog_cnt++;
415 if (in6p->in6p_route.ro_rt != NULL) {
416 cell = IFNET_IS_CELLULAR(in6p->in6p_route.
418 wifi = (!cell && IFNET_IS_WIFI(in6p->in6p_route.
420 wired = (!wifi && IFNET_IS_WIRED(in6p->in6p_route.
425 INP_ADD_STAT(in6p, cell, wifi, wired, txpackets, 1);
426 INP_ADD_STAT(in6p, cell, wifi, wired, txbytes, ulen);
436 inp_set_fc_state(in6p, adv->code);
439 VERIFY(in6p->inp_sndinprog_cnt > 0);
440 if ( --in6p->inp_sndinprog_cnt == 0)
441 in6p->inp_flags &= ~(INP_FC_FEEDBACK);
444 in6p_route_copyin(in6p, &ro);
446 if (in6p->in6p_route.ro_rt != NULL) {
447 struct rtentry *rt = in6p->in6p_route.ro_rt;
458 ROUTE_RELEASE(&in6p->in6p_route);
465 (outif = rt->rt_ifp) != in6p->in6p_last_outifp)
466 in6p->in6p_last_outifp = outif;
468 ROUTE_RELEASE(&in6p->in6p_route);
476 (INP_NO_CELLULAR(in6p) || INP_NO_EXPENSIVE(in6p)))
477 soevent(in6p->inp_socket, (SO_FILT_HINT_LOCKED|