Lines Matching refs:cmsg
226 struct cmsghdr *cmsg; in ip_cmsg_send() local
228 for_each_cmsghdr(cmsg, msg) { in ip_cmsg_send()
229 if (!CMSG_OK(msg, cmsg)) in ip_cmsg_send()
233 cmsg->cmsg_level == SOL_IPV6 && in ip_cmsg_send()
234 cmsg->cmsg_type == IPV6_PKTINFO) { in ip_cmsg_send()
237 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*src_info))) in ip_cmsg_send()
239 src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg); in ip_cmsg_send()
247 if (cmsg->cmsg_level != SOL_IP) in ip_cmsg_send()
249 switch (cmsg->cmsg_type) { in ip_cmsg_send()
251 err = cmsg->cmsg_len - CMSG_ALIGN(sizeof(struct cmsghdr)); in ip_cmsg_send()
254 err = ip_options_get(net, &ipc->opt, CMSG_DATA(cmsg), in ip_cmsg_send()
262 if (cmsg->cmsg_len != CMSG_LEN(sizeof(struct in_pktinfo))) in ip_cmsg_send()
264 info = (struct in_pktinfo *)CMSG_DATA(cmsg); in ip_cmsg_send()
270 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) in ip_cmsg_send()
272 val = *(int *)CMSG_DATA(cmsg); in ip_cmsg_send()
278 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) in ip_cmsg_send()
280 val = *(int *)CMSG_DATA(cmsg); in ip_cmsg_send()