245: if (len < sizeof(*rtm) ||
246: len != mtod(m, struct rt_msghdr *)->rtm_msglen) {
247: info.rti_info[RTAX_DST] = NULL;
624: if (len > datalen)
625: (void)memset(mtod(m, char *) + datalen, 0, len - datalen);
626: rtm = mtod(m, struct rt_msghdr *);
627: for (i = 0; i < RTAX_MAX; i++) {
758: return;
759: mtod(m, struct rt_msghdr *)->rtm_addrs = rtinfo->rti_addrs;
760: route_enqueue(m, sa ? sa->sa_family : 0);
856: continue;
857: mtod(m, struct ifa_msghdr *)->ifam_addrs =
858: info.rti_addrs;
875: continue;
876: mtod(m, struct rt_msghdr *)->rtm_addrs = info.rti_addrs;
877: }
947: }
948: (void)memcpy(mtod(n, void *), data, data_len);
949: n->m_len = data_len;
951: } else if (data_len > 0) {
952: (void)memcpy(mtod(m, uint8_t *) + m->m_len, data, data_len);
953: m->m_len += data_len;
956: m->m_pkthdr.len += data_len;
957: mtod(m, struct if_announcemsghdr *)->ifan_msglen += data_len;
958: route_enqueue(m, 0);