Lines Matching refs:cmsg
764 struct cmsghdr *cmsg; in ip6_datagram_send_ctl() local
771 for_each_cmsghdr(cmsg, msg) { in ip6_datagram_send_ctl()
774 if (!CMSG_OK(msg, cmsg)) { in ip6_datagram_send_ctl()
779 if (cmsg->cmsg_level == SOL_SOCKET) { in ip6_datagram_send_ctl()
780 err = __sock_cmsg_send(sk, cmsg, &ipc6->sockc); in ip6_datagram_send_ctl()
786 if (cmsg->cmsg_level != SOL_IPV6) in ip6_datagram_send_ctl()
789 switch (cmsg->cmsg_type) { in ip6_datagram_send_ctl()
796 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct in6_pktinfo))) { in ip6_datagram_send_ctl()
801 src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
849 if (cmsg->cmsg_len < CMSG_LEN(4)) { in ip6_datagram_send_ctl()
855 if ((fl6->flowlabel^*(__be32 *)CMSG_DATA(cmsg))&~IPV6_FLOWINFO_MASK) { in ip6_datagram_send_ctl()
860 fl6->flowlabel = IPV6_FLOWINFO_MASK & *(__be32 *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
865 if (opt->hopopt || cmsg->cmsg_len < CMSG_LEN(sizeof(struct ipv6_opt_hdr))) { in ip6_datagram_send_ctl()
870 hdr = (struct ipv6_opt_hdr *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
872 if (cmsg->cmsg_len < CMSG_LEN(len)) { in ip6_datagram_send_ctl()
885 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct ipv6_opt_hdr))) { in ip6_datagram_send_ctl()
890 hdr = (struct ipv6_opt_hdr *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
892 if (cmsg->cmsg_len < CMSG_LEN(len)) { in ip6_datagram_send_ctl()
910 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct ipv6_opt_hdr))) { in ip6_datagram_send_ctl()
915 hdr = (struct ipv6_opt_hdr *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
917 if (cmsg->cmsg_len < CMSG_LEN(len)) { in ip6_datagram_send_ctl()
925 if (cmsg->cmsg_type == IPV6_DSTOPTS) { in ip6_datagram_send_ctl()
936 if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct ipv6_rt_hdr))) { in ip6_datagram_send_ctl()
941 rthdr = (struct ipv6_rt_hdr *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
960 if (cmsg->cmsg_len < CMSG_LEN(len)) { in ip6_datagram_send_ctl()
974 if (cmsg->cmsg_type == IPV6_2292RTHDR && opt->dst1opt) { in ip6_datagram_send_ctl()
987 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) { in ip6_datagram_send_ctl()
992 ipc6->hlimit = *(int *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
1005 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) in ip6_datagram_send_ctl()
1008 tc = *(int *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
1023 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) in ip6_datagram_send_ctl()
1026 df = *(int *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
1037 cmsg->cmsg_type); in ip6_datagram_send_ctl()