Lines Matching refs:fl6

211 	struct flowi6 *fl6 = &transport->fl.u.ip6;  in sctp_v6_xmit()  local
216 skb->len, &fl6->saddr, &fl6->daddr); in sctp_v6_xmit()
222 IP6_ECN_flow_xmit(sk, fl6->flowlabel); in sctp_v6_xmit()
230 res = ip6_xmit(sk, skb, fl6, sk->sk_mark, rcu_dereference(np->opt), in sctp_v6_xmit()
244 struct flowi6 *fl6 = &fl->u.ip6; in sctp_v6_get_dst() local
254 memset(fl6, 0, sizeof(struct flowi6)); in sctp_v6_get_dst()
255 fl6->daddr = daddr->v6.sin6_addr; in sctp_v6_get_dst()
256 fl6->fl6_dport = daddr->v6.sin6_port; in sctp_v6_get_dst()
257 fl6->flowi6_proto = IPPROTO_SCTP; in sctp_v6_get_dst()
259 fl6->flowi6_oif = daddr->v6.sin6_scope_id; in sctp_v6_get_dst()
261 fl6->flowi6_oif = asoc->base.sk->sk_bound_dev_if; in sctp_v6_get_dst()
263 fl6->flowlabel = htonl(t->flowlabel & SCTP_FLOWLABEL_VAL_MASK); in sctp_v6_get_dst()
265 if (np->sndflow && (fl6->flowlabel & IPV6_FLOWLABEL_MASK)) { in sctp_v6_get_dst()
268 flowlabel = fl6_sock_lookup(sk, fl6->flowlabel); in sctp_v6_get_dst()
274 pr_debug("%s: dst=%pI6 ", __func__, &fl6->daddr); in sctp_v6_get_dst()
277 fl6->fl6_sport = htons(asoc->base.bind_addr.port); in sctp_v6_get_dst()
280 fl6->saddr = saddr->v6.sin6_addr; in sctp_v6_get_dst()
281 fl6->fl6_sport = saddr->v6.sin6_port; in sctp_v6_get_dst()
283 pr_debug("src=%pI6 - ", &fl6->saddr); in sctp_v6_get_dst()
287 final_p = fl6_update_dst(fl6, rcu_dereference(np->opt), &final); in sctp_v6_get_dst()
290 dst = ip6_dst_lookup_flow(sk, fl6, final_p); in sctp_v6_get_dst()
303 sctp_v6_to_addr(&dst_saddr, &fl6->saddr, htons(bp->port)); in sctp_v6_get_dst()
340 fl6->saddr = laddr->a.v6.sin6_addr; in sctp_v6_get_dst()
341 fl6->fl6_sport = laddr->a.v6.sin6_port; in sctp_v6_get_dst()
342 final_p = fl6_update_dst(fl6, rcu_dereference(np->opt), &final); in sctp_v6_get_dst()
343 bdst = ip6_dst_lookup_flow(sk, fl6, final_p); in sctp_v6_get_dst()
378 &fl6->saddr); in sctp_v6_get_dst()
402 struct flowi6 *fl6 = &fl->u.ip6; in sctp_v6_get_saddr() local
409 saddr->v6.sin6_addr = fl6->saddr; in sctp_v6_get_saddr()