| /linux-6.15/net/ipv6/ |
| H A D | ping.c | 75 struct ipcm6_cookie ipc6; in ping_v6_sendmsg() local 121 ipcm6_init_sk(&ipc6, sk); in ping_v6_sendmsg() 129 ipc6.opt = &opt; in ping_v6_sendmsg() 131 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, &ipc6); in ping_v6_sendmsg() 138 ipc6.opt = NULL; in ping_v6_sendmsg() 144 fl6.flowi6_mark = ipc6.sockc.mark; in ping_v6_sendmsg() 150 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in ping_v6_sendmsg() 171 if (ipc6.hlimit < 0) in ping_v6_sendmsg() 172 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in ping_v6_sendmsg() 176 sizeof(struct icmp6hdr), &ipc6, &fl6, rt, in ping_v6_sendmsg()
|
| H A D | icmp.c | 464 struct ipcm6_cookie ipc6; in icmp6_send() local 600 ipcm6_init_sk(&ipc6, sk); in icmp6_send() 601 ipc6.sockc.mark = mark; in icmp6_send() 608 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in icmp6_send() 627 &ipc6, &fl6, dst_rt6_info(dst), in icmp6_send() 735 struct ipcm6_cookie ipc6; in icmpv6_echo_reply() local 806 ipcm6_init_sk(&ipc6, sk); in icmpv6_echo_reply() 807 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in icmpv6_echo_reply() 808 ipc6.tclass = ipv6_get_dsfield(ipv6_hdr(skb)); in icmpv6_echo_reply() 809 ipc6.sockc.mark = mark; in icmpv6_echo_reply() [all …]
|
| H A D | raw.c | 754 struct ipcm6_cookie ipc6; in rawv6_sendmsg() local 772 ipcm6_init_sk(&ipc6, sk); in rawv6_sendmsg() 779 fl6.flowi6_mark = ipc6.sockc.mark; in rawv6_sendmsg() 839 ipc6.opt = opt; in rawv6_sendmsg() 863 fl6.flowi6_mark = ipc6.sockc.mark; in rawv6_sendmsg() 891 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in rawv6_sendmsg() 898 if (ipc6.hlimit < 0) in rawv6_sendmsg() 899 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in rawv6_sendmsg() 907 msg->msg_flags, &ipc6.sockc); in rawv6_sendmsg() 909 ipc6.opt = opt; in rawv6_sendmsg() [all …]
|
| H A D | ip6_output.c | 1347 struct ipv6_txoptions *nopt, *opt = ipc6->opt; in ip6_setup_cork() 1387 v6_cork->hop_limit = ipc6->hlimit; in ip6_setup_cork() 1388 v6_cork->tclass = ipc6->tclass; in ip6_setup_cork() 1389 v6_cork->dontfrag = ipc6->dontfrag; in ip6_setup_cork() 1402 cork->base.gso_size = ipc6->gso_size; in ip6_setup_cork() 1404 cork->base.mark = ipc6->sockc.mark; in ip6_setup_cork() 1405 cork->base.priority = ipc6->sockc.priority; in ip6_setup_cork() 1409 cork->base.ts_opt_id = ipc6->sockc.ts_opt_id; in ip6_setup_cork() 1845 ipc6, rt); in ip6_append_data() 1850 exthdrlen = (ipc6->opt ? ipc6->opt->opt_flen : 0); in ip6_append_data() [all …]
|
| H A D | datagram.c | 761 struct ipcm6_cookie *ipc6) in ip6_datagram_send_ctl() argument 767 struct ipv6_txoptions *opt = ipc6->opt; in ip6_datagram_send_ctl() 780 err = __sock_cmsg_send(sk, cmsg, &ipc6->sockc); in ip6_datagram_send_ctl() 992 ipc6->hlimit = *(int *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl() 993 if (ipc6->hlimit < -1 || ipc6->hlimit > 0xff) { in ip6_datagram_send_ctl() 1013 ipc6->tclass = tc; in ip6_datagram_send_ctl() 1031 ipc6->dontfrag = df; in ip6_datagram_send_ctl()
|
| H A D | udp.c | 1488 struct ipcm6_cookie ipc6; in udpv6_sendmsg() local 1497 ipcm6_init_sk(&ipc6, sk); in udpv6_sendmsg() 1498 ipc6.gso_size = READ_ONCE(up->gso_size); in udpv6_sendmsg() 1628 ipc6.opt = opt; in udpv6_sendmsg() 1630 err = udp_cmsg_send(sk, msg, &ipc6.gso_size); in udpv6_sendmsg() 1633 &ipc6); in udpv6_sendmsg() 1655 ipc6.opt = opt; in udpv6_sendmsg() 1658 fl6->flowi6_mark = ipc6.sockc.mark; in udpv6_sendmsg() 1713 if (ipc6.hlimit < 0) in udpv6_sendmsg() 1725 sizeof(struct udphdr), &ipc6, in udpv6_sendmsg() [all …]
|
| H A D | ip6_flowlabel.c | 397 struct ipcm6_cookie ipc6; in fl_create() local 415 ipc6.opt = fl->opt; in fl_create() 416 err = ip6_datagram_send_ctl(net, sk, &msg, &flowi6, &ipc6); in fl_create()
|
| H A D | ipv6_sockglue.c | 837 struct ipcm6_cookie ipc6; in do_ipv6_setsockopt() local 868 ipc6.opt = opt; in do_ipv6_setsockopt() 870 retv = ip6_datagram_send_ctl(net, sk, &msg, &fl6, &ipc6); in do_ipv6_setsockopt()
|
| /linux-6.15/net/l2tp/ |
| H A D | l2tp_ip6.c | 528 struct ipcm6_cookie ipc6; in l2tp_ip6_sendmsg() local 550 ipcm6_init_sk(&ipc6, sk); in l2tp_ip6_sendmsg() 595 ipc6.opt = opt; in l2tp_ip6_sendmsg() 597 err = ip6_datagram_send_ctl(sock_net(sk), sk, msg, &fl6, &ipc6); in l2tp_ip6_sendmsg() 618 ipc6.opt = opt; in l2tp_ip6_sendmsg() 637 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in l2tp_ip6_sendmsg() 645 if (ipc6.hlimit < 0) in l2tp_ip6_sendmsg() 646 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); in l2tp_ip6_sendmsg() 655 ulen, transhdrlen, &ipc6, in l2tp_ip6_sendmsg()
|
| /linux-6.15/include/net/ |
| H A D | transp_v6.h | 45 struct flowi6 *fl6, struct ipcm6_cookie *ipc6);
|
| H A D | ipv6.h | 369 static inline void ipcm6_init_sk(struct ipcm6_cookie *ipc6, in ipcm6_init_sk() argument 372 *ipc6 = (struct ipcm6_cookie) { in ipcm6_init_sk() 378 sockcm_init(&ipc6->sockc, sk); in ipcm6_init_sk() 1096 struct ipcm6_cookie *ipc6, struct flowi6 *fl6, 1112 struct ipcm6_cookie *ipc6,
|