/freebsd/tests/sys/net/routing/ |
H A D | test_rtsock_l3.c | 159 prepare_route_message(struct rt_msghdr *rtm, int cmd, struct sockaddr *dst, in prepare_route_message() argument 163 rtsock_prepare_route_message(rtm, cmd, dst, mask, gw); in prepare_route_message() 166 rtm->rtm_flags |= RTF_STATIC; in prepare_route_message() 170 verify_route_message(struct rt_msghdr *rtm, int cmd, struct sockaddr *dst, in verify_route_message() argument 177 RTSOCK_ATF_REQUIRE_MSG(rtm, rtm->rtm_type == cmd, in verify_route_message() 179 rtm->rtm_type, rtsock_print_cmdtype(rtm->rtm_type)); in verify_route_message() 180 RTSOCK_ATF_REQUIRE_MSG(rtm, rtm->rtm_errno == 0, in verify_route_message() 181 "got got errno %d as message reply", rtm->rtm_errno); in verify_route_message() 182 RTSOCK_ATF_REQUIRE_MSG(rtm, rtm->_rtm_spare1 == 0, in verify_route_message() 183 "expected rtm_spare==0, got %d", rtm->_rtm_spare1); in verify_route_message() [all …]
|
H A D | test_rtsock_lladdr.c | 85 prepare_route_message(struct rt_msghdr *rtm, int cmd, struct sockaddr *dst, in prepare_route_message() argument 89 rtsock_prepare_route_message(rtm, cmd, dst, NULL, gw); in prepare_route_message() 91 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA); in prepare_route_message() 100 struct rt_msghdr *rtm = (struct rt_msghdr *)buffer; \ 140 prepare_route_message(rtm, RTM_ADD, (struct sockaddr *)&sin6, (struct sockaddr *)ðer); in ATF_TC_BODY() 141 rtsock_send_rtm(c->rtsock_fd, rtm); in ATF_TC_BODY() 151 rtm = rtsock_read_rtm_reply(c->rtsock_fd, buffer, sizeof(buffer), rtm->rtm_seq); in ATF_TC_BODY() 153 sa = rtsock_find_rtm_sa(rtm, RTA_DST); in ATF_TC_BODY() 155 RTSOCK_ATF_REQUIRE_MSG(rtm, ret != 0, "DST sa diff: %s", msg); in ATF_TC_BODY() 157 sa = rtsock_find_rtm_sa(rtm, RTA_GATEWAY); in ATF_TC_BODY() [all …]
|
H A D | rtsock_common.h | 70 void rtsock_update_rtm_len(struct rt_msghdr *rtm); 72 void rtsock_add_rtm_sa(struct rt_msghdr *rtm, int addr_type, struct sockaddr *sa); 654 rtsock_send_rtm(int fd, struct rt_msghdr *rtm) in rtsock_send_rtm() argument 659 rtsock_update_rtm_len(rtm); in rtsock_send_rtm() 661 len = write(fd, rtm, rtm->rtm_msglen); in rtsock_send_rtm() 663 RTSOCK_ATF_REQUIRE_MSG(rtm, len == rtm->rtm_msglen, in rtsock_send_rtm() 665 rtm->rtm_msglen, len, strerror(my_errno)); in rtsock_send_rtm() 697 struct rt_msghdr *rtm; in rtsock_read_rtm_reply() local 701 rtm = rtsock_read_rtm(fd, buffer, buflen); in rtsock_read_rtm_reply() 702 if (rtm->rtm_pid == getpid() && rtm->rtm_seq == seq) in rtsock_read_rtm_reply() [all …]
|
H A D | rtsock_print.h | 262 rtsock_print_rtm(struct rt_msghdr *rtm) in rtsock_print_rtm() argument 271 printf("Got message of size %hu on %s\n", rtm->rtm_msglen, buf); in rtsock_print_rtm() 274 rtsock_print_rtm_flags(flags_buf, sizeof(flags_buf), rtm->rtm_flags); in rtsock_print_rtm() 276 printf("%s: len %hu, pid: %d, seq %d, errno %d, flags: %s\n", msgtypes[rtm->rtm_type], in rtsock_print_rtm() 277 rtm->rtm_msglen, rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno, flags_buf); in rtsock_print_rtm() 279 if (rtm->rtm_inits > 0) { in rtsock_print_rtm() 280 _printb(flags_buf, sizeof(flags_buf), rtm->rtm_inits, metricnames); in rtsock_print_rtm() 282 if (rtm->rtm_inits & RTV_MTU) in rtsock_print_rtm() 283 printf("mtu: %lu\n", rtm->rtm_rmx.rmx_mtu); in rtsock_print_rtm() 284 if (rtm->rtm_inits & RTV_EXPIRE) { in rtsock_print_rtm() [all …]
|
/freebsd/libexec/bootpd/ |
H A D | rtmsg.c | 120 struct rt_msghdr *rtm = &(m_rtmsg.m_rtm); in bsd_arp_set() local 144 sin = (struct sockaddr_in *)(rtm + 1); in bsd_arp_set() 148 !(rtm->rtm_flags & RTF_GATEWAY)) switch (sdl->sdl_type) { in bsd_arp_set() 179 struct rt_msghdr *rtm = &m_rtmsg.m_rtm; in rtmsg() local 185 rtm->rtm_flags = flags; in rtmsg() 186 rtm->rtm_version = RTM_VERSION; in rtmsg() 194 rtm->rtm_addrs |= RTA_GATEWAY; in rtmsg() 195 rtm->rtm_rmx.rmx_expire = expire_time; in rtmsg() 196 rtm->rtm_inits = RTV_EXPIRE; in rtmsg() 197 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA); in rtmsg() [all …]
|
/freebsd/usr.sbin/arp/ |
H A D | arp.c | 73 struct rt_msghdr *rtm); 390 struct rt_msghdr *rtm; in set_rtsock() local 400 rtm = rtmsg(RTM_GET, dst, NULL); in set_rtsock() 401 if (rtm == NULL) { in set_rtsock() 405 addr = (struct sockaddr_in *)(rtm + 1); in set_rtsock() 409 (rtm->rtm_flags & RTF_GATEWAY) || in set_rtsock() 463 struct rt_msghdr *rtm; in delete_rtsock() local 476 rtm = rtmsg(RTM_GET, dst, NULL); in delete_rtsock() 477 if (rtm == NULL) { in delete_rtsock() 481 addr = (struct sockaddr_in *)(rtm + 1); in delete_rtsock() [all …]
|
/freebsd/sbin/route/ |
H A D | route.c | 492 struct rt_msghdr *rtm; in flushroutes_fib_rtsock() local 529 for (next = buf; next < lim; next += rtm->rtm_msglen) { in flushroutes_fib_rtsock() 530 rtm = (struct rt_msghdr *)(void *)next; in flushroutes_fib_rtsock() 532 print_rtmsg(rtm, rtm->rtm_msglen); in flushroutes_fib_rtsock() 533 if ((rtm->rtm_flags & RTF_GATEWAY) == 0) in flushroutes_fib_rtsock() 536 struct sockaddr *sa = (struct sockaddr *)(rtm + 1); in flushroutes_fib_rtsock() 543 rtm->rtm_type = RTM_DELETE; in flushroutes_fib_rtsock() 544 rtm->rtm_seq = seqno; in flushroutes_fib_rtsock() 545 rlen = write(s, next, rtm->rtm_msglen); in flushroutes_fib_rtsock() 548 if (rlen < (int)rtm->rtm_msglen) { in flushroutes_fib_rtsock() [all …]
|
/freebsd/usr.sbin/rtsold/ |
H A D | rtsock.c | 98 struct rt_msghdr *rtm; in rtsock_input() local 103 offsetof(struct rt_msghdr, rtm_msglen) + sizeof(rtm->rtm_msglen); in rtsock_input() 109 rtm = (struct rt_msghdr *)(void *)next; in rtsock_input() 112 len = rtm->rtm_msglen; in rtsock_input() 118 "rtmsg type %d, len=%lu", rtm->rtm_type, in rtsock_input() 123 if (rtm->rtm_type != rtsock_dispatch[idx].type) in rtsock_input() 125 if (rtm->rtm_msglen < rtsock_dispatch[idx].minlen) { in rtsock_input() 127 "rtmsg type %d too short!", rtm->rtm_type); in rtsock_input() 131 ret = (*rtsock_dispatch[idx].func)(s, rtm, lim); in rtsock_input() 140 rtsock_input_ifannounce(int s __unused, struct rt_msghdr *rtm, char *lim) in rtsock_input_ifannounce() argument [all …]
|
/freebsd/sys/net/ |
H A D | rtsock.c | 213 struct rt_msghdr *rtm, struct rib_cmd_info *rc); 217 static void send_rtm_reply(struct socket *so, struct rt_msghdr *rtm, 675 fill_addrinfo(struct rt_msghdr *rtm, int len, struct linear_buffer *lb, u_int fibnum, in fill_addrinfo() argument 680 rtm->rtm_pid = curproc->p_pid; in fill_addrinfo() 681 info->rti_addrs = rtm->rtm_addrs; in fill_addrinfo() 683 info->rti_mflags = rtm->rtm_inits; in fill_addrinfo() 684 info->rti_rmx = &rtm->rtm_rmx; in fill_addrinfo() 691 if (rt_xaddrs((caddr_t)(rtm + 1), len + (caddr_t)rtm, info)) in fill_addrinfo() 694 info->rti_flags = rtm->rtm_flags; in fill_addrinfo() 702 if (rtm->rtm_type != RTM_GET) { in fill_addrinfo() [all …]
|
/freebsd/usr.sbin/rtadvd/ |
H A D | if.c | 166 struct rt_msghdr *rtm; in get_next_msg() local 171 for (rtm = (struct rt_msghdr *)buf; in get_next_msg() 172 rtm < (struct rt_msghdr *)lim; in get_next_msg() 173 rtm = (struct rt_msghdr *)(((char *)rtm) + rtm->rtm_msglen)) { in get_next_msg() 175 if (!rtm->rtm_msglen) { in get_next_msg() 177 "(buf=%p lim=%p rtm=%p)", __func__, in get_next_msg() 178 buf, lim, rtm); in get_next_msg() 184 "(buf=%p lim=%p rtm in get_next_msg() 260 struct rt_msghdr *rtm = (struct rt_msghdr *)buf; get_addr() local 272 struct rt_msghdr *rtm = (struct rt_msghdr *)buf; get_rtm_ifindex() local 284 struct rt_msghdr *rtm = (struct rt_msghdr *)buf; get_prefixlen() local [all...] |
/freebsd/lib/libc/net/ |
H A D | getifmaddrs.c | 66 struct rt_msghdr *rtm; in getifmaddrs() local 90 for (next = buf; next < buf + needed; next += rtm->rtm_msglen) { in getifmaddrs() 91 rtm = (struct rt_msghdr *)(void *)next; in getifmaddrs() 92 if (rtm->rtm_version != RTM_VERSION) in getifmaddrs() 94 switch (rtm->rtm_type) { in getifmaddrs() 96 ifmam = (struct ifma_msghdr *)(void *)rtm; in getifmaddrs() 126 for (next = buf; next < buf + needed; next += rtm->rtm_msglen) { in getifmaddrs() 127 rtm = (struct rt_msghdr *)(void *)next; in getifmaddrs() 128 if (rtm->rtm_version != RTM_VERSION) in getifmaddrs() 131 switch (rtm->rtm_type) { in getifmaddrs() [all …]
|
H A D | getifaddrs.c | 89 struct rt_msghdr *rtm; in getifaddrs() local 134 for (next = buf; next < buf + needed; next += rtm->rtm_msglen) { in getifaddrs() 135 rtm = (struct rt_msghdr *)(void *)next; in getifaddrs() 136 if (rtm->rtm_version != RTM_VERSION) in getifaddrs() 138 switch (rtm->rtm_type) { in getifaddrs() 140 ifm = (struct if_msghdrl *)(void *)rtm; in getifaddrs() 155 ifam = (struct ifa_msghdrl *)(void *)rtm; in getifaddrs() 217 for (next = buf; next < buf + needed; next += rtm->rtm_msglen) { in getifaddrs() 218 rtm = (struct rt_msghdr *)(void *)next; in getifaddrs() 219 if (rtm->rtm_version != RTM_VERSION) in getifaddrs() [all …]
|
/freebsd/usr.bin/netstat/ |
H A D | nhgrp.c | 116 print_nhgroup_entry_sysctl(const char *name, struct rt_msghdr *rtm, in print_nhgroup_entry_sysctl() argument 198 struct rt_msghdr *rtm; in dump_nhgrp_sysctl() local 226 for (next = buf; next < lim; next += rtm->rtm_msglen) { in dump_nhgrp_sysctl() 227 rtm = (struct rt_msghdr *)next; in dump_nhgrp_sysctl() 228 if (rtm->rtm_version != RTM_VERSION) in dump_nhgrp_sysctl() 236 nhg = (struct nhgrp_external *)(rtm + 1); in dump_nhgrp_sysctl() 238 nhg_map[nhg_count].rtm = rtm; in dump_nhgrp_sysctl() 254 struct rt_msghdr *rtm; in print_nhgrp_sysctl() local 269 rtm = nd.nh_map[i].rtm; in print_nhgrp_sysctl() 270 nhg = (struct nhgrp_external *)(rtm + 1); in print_nhgrp_sysctl() [all …]
|
H A D | nhops.c | 237 print_nhop_entry_sysctl(const char *name, struct rt_msghdr *rtm, struct nhop_external *nh) in print_nhop_entry_sysctl() argument 285 print_flags_generic(rtm->rtm_flags, rt_bits, buffer, "rt_flags_pretty"); in print_nhop_entry_sysctl() 341 struct rt_msghdr *rtm; in dump_nhops_sysctl() local 369 for (next = buf; next < lim; next += rtm->rtm_msglen) { in dump_nhops_sysctl() 370 rtm = (struct rt_msghdr *)next; in dump_nhops_sysctl() 371 if (rtm->rtm_version != RTM_VERSION) in dump_nhops_sysctl() 379 nh = (struct nhop_external *)(rtm + 1); in dump_nhops_sysctl() 381 nh_map[nh_count].rtm = rtm; in dump_nhops_sysctl() 398 struct rt_msghdr *rtm; in print_nhops_sysctl() local 405 nh = (struct nhop_external *)(nd.nh_map[0].rtm + 1); in print_nhops_sysctl() [all …]
|
H A D | route.c | 246 struct rt_msghdr *rtm; in p_rtable_sysctl() local 270 for (next = buf; next < lim; next += rtm->rtm_msglen) { in p_rtable_sysctl() 271 rtm = (struct rt_msghdr *)next; in p_rtable_sysctl() 272 if (rtm->rtm_version != RTM_VERSION) in p_rtable_sysctl() 277 sa = (struct sockaddr *)(rtm + 1); in p_rtable_sysctl() 293 p_rtentry_sysctl("rt-entry", rtm); in p_rtable_sysctl() 305 p_rtentry_sysctl(const char *name, struct rt_msghdr *rtm) in p_rtentry_sysctl() argument 313 sa = (struct sockaddr *)(rtm + 1); in p_rtentry_sysctl() 315 if (rtm->rtm_addrs & (1 << i)) { in p_rtentry_sysctl() 323 rtm->rtm_flags, wid.dst); in p_rtentry_sysctl() [all …]
|
/freebsd/usr.sbin/ndp/ |
H A D | ndp.c | 116 if (rtm->rtm_addrs & (w)) { \ 467 struct rt_msghdr *rtm = &(m_rtmsg.m_rtm); in set() local 476 sin = (struct sockaddr_in6 *)(rtm + 1); in set() 480 !(rtm->rtm_flags & RTF_GATEWAY)) { in set() 548 register struct rt_msghdr *rtm = &m_rtmsg.m_rtm; in delete_rtsock() local 566 sin = (struct sockaddr_in6 *)(rtm + 1); in delete_rtsock() 570 !(rtm->rtm_flags & RTF_GATEWAY)) { in delete_rtsock() 587 rtm->rtm_flags |= RTF_LLDATA; in delete_rtsock() 620 struct rt_msghdr *rtm; in dump_rtsock() local 669 for (next = buf; next && next < lim; next += rtm->rtm_msglen) { in dump_rtsock() [all …]
|
/freebsd/contrib/netbsd-tests/net/if_loop/ |
H A D | t_pr.c | 66 #define rtm m_rtmsg.m_rtm in setup() macro 93 rtm.rtm_type = RTM_CHANGE; in setup() 94 rtm.rtm_flags = RTF_STATIC; in setup() 95 rtm.rtm_version = RTM_VERSION; in setup() 96 rtm.rtm_seq = 3; in setup() 97 rtm.rtm_inits = RTV_MTU; in setup() 98 rtm.rtm_addrs = RTA_DST; in setup() 99 rtm.rtm_rmx.rmx_mtu = 100; in setup() 100 rtm.rtm_msglen = sizeof(m_rtmsg); in setup()
|
/freebsd/contrib/bsnmp/snmp_mibII/ |
H A D | mibII_route.c | 94 mib_sroute_process(struct rt_msghdr *rtm, struct sockaddr *gw, in mib_sroute_process() argument 111 if (rtm->rtm_flags & RTF_HOST) in mib_sroute_process() 140 if (rtm->rtm_type == RTM_DELETE) { in mib_sroute_process() 171 if ((ifp = mib_find_if_sys(rtm->rtm_index)) == NULL) { in mib_sroute_process() 172 if (rtm->rtm_type == RTM_ADD) { in mib_sroute_process() 174 mib_send_rtmsg(rtm, gw, dst, mask); in mib_sroute_process() 188 r->type = (rtm->rtm_flags & RTF_REJECT) ? 2 : 4; in mib_sroute_process() 191 r->proto = (rtm->rtm_flags & RTF_LOCAL) ? 2 : in mib_sroute_process() 192 (rtm->rtm_flags & RTF_STATIC) ? 3 : in mib_sroute_process() 193 (rtm->rtm_flags & RTF_DYNAMIC) ? 4 : 10; in mib_sroute_process() [all …]
|
H A D | mibII.c | 1005 process_arp(const struct rt_msghdr *rtm, const struct sockaddr_dl *sdl, in process_arp() argument 1022 if (rtm->rtm_rmx.rmx_expire == 0) in process_arp() 1033 handle_rtmsg(struct rt_msghdr *rtm) in handle_rtmsg() argument 1049 if (rtm->rtm_version != RTM_VERSION) { in handle_rtmsg() 1050 syslog(LOG_ERR, "Bogus RTM version %u", rtm->rtm_version); in handle_rtmsg() 1054 switch (rtm->rtm_type) { in handle_rtmsg() 1057 ifamp = (struct ifa_msghdr *)rtm; in handle_rtmsg() 1085 ifamp = (struct ifa_msghdr *)rtm; in handle_rtmsg() 1100 ifmam = (struct ifma_msghdr *)rtm; in handle_rtmsg() 1123 ifmam = (struct ifma_msghdr *)rtm; in handle_rtmsg() [all …]
|
/freebsd/sbin/routed/ |
H A D | table.c | 873 rtm_add(struct rt_msghdr *rtm, in rtm_add() argument 882 if (rtm->rtm_flags & RTF_HOST) { in rtm_add() 887 msglog("ignore %s without mask", rtm_type_name(rtm->rtm_type)); in rtm_add() 896 rtm_type_name(rtm->rtm_type)); in rtm_add() 900 rtm_type_name(rtm->rtm_type), in rtm_add() 905 k->k_metric = rtm->rtm_rmx.rmx_hopcount; in rtm_add() 914 if (rtm->rtm_flags & RTF_GATEWAY) in rtm_add() 916 if (rtm->rtm_flags & RTF_STATIC) in rtm_add() 919 if (0 != (rtm->rtm_flags & (RTF_DYNAMIC | RTF_MODIFIED))) { in rtm_add() 977 rtm_lose(struct rt_msghdr *rtm, in rtm_lose() argument [all …]
|
/freebsd/tests/sys/netlink/ |
H A D | netlink_socket.c | 281 struct rtmsg rtm; in ATF_TC_BODY() member 290 .rtm.rtm_family = AF_INET, in ATF_TC_BODY() 291 .rtm.rtm_protocol = RTPROT_STATIC, in ATF_TC_BODY() 292 .rtm.rtm_type = RTN_UNICAST, in ATF_TC_BODY() 293 .rtm.rtm_dst_len = 32, in ATF_TC_BODY() 312 ATF_REQUIRE(reply.rtm.rtm_type == msg.rtm.rtm_type); in ATF_TC_BODY() 313 ATF_REQUIRE(reply.rtm.rtm_dst_len == msg.rtm.rtm_dst_len); in ATF_TC_BODY() 323 ATF_REQUIRE(reply.rtm.rtm_type == msg.rtm.rtm_type); in ATF_TC_BODY() 324 ATF_REQUIRE(reply.rtm.rtm_dst_len == msg.rtm.rtm_dst_len); in ATF_TC_BODY()
|
/freebsd/usr.sbin/route6d/ |
H A D | route6d.c | 1696 struct rt_msghdr *rtm; in rtrecv() local 1715 if (len < sizeof(*rtm)) { in rtrecv() 1717 len, (u_long)sizeof(*rtm)); in rtrecv() 1741 rtm = NULL; in rtrecv() 1769 rtm = (struct rt_msghdr *)(void *)p; in rtrecv() 1770 if (rtm->rtm_version != RTM_VERSION) { in rtrecv() 1773 rtm->rtm_version, RTM_VERSION); in rtrecv() 1780 if (rtm->rtm_type > RTM_RESOLVE) { in rtrecv() 1782 rtm->rtm_type); in rtrecv() 1785 addrs = rtm->rtm_addrs; in rtrecv() [all …]
|
/freebsd/contrib/netbsd-tests/net/config/ |
H A D | netconfig.c | 131 #define rtm m_rtmsg.m_rtm in netcfg_rump_route() macro 145 rtm.rtm_type = RTM_ADD; in netcfg_rump_route() 146 rtm.rtm_flags = RTF_UP | RTF_GATEWAY | RTF_STATIC; in netcfg_rump_route() 147 rtm.rtm_version = RTM_VERSION; in netcfg_rump_route() 148 rtm.rtm_seq = 2; in netcfg_rump_route() 149 rtm.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; in netcfg_rump_route() 176 rtm.rtm_msglen = len; in netcfg_rump_route()
|
/freebsd/usr.sbin/ppp/ |
H A D | route.c | 309 route_ParseHdr(struct rt_msghdr *rtm, struct sockaddr *sa[RTAX_MAX]) in route_ParseHdr() argument 314 wp = (char *)(rtm + 1); in route_ParseHdr() 317 if (rtm->rtm_addrs & (1 << rtax)) { in route_ParseHdr() 329 struct rt_msghdr *rtm; in route_Show() local 357 for (cp = sp; cp < ep; cp += rtm->rtm_msglen) { in route_Show() 358 rtm = (struct rt_msghdr *)cp; in route_Show() 360 route_ParseHdr(rtm, sa); in route_Show() 366 p_flags(arg->prompt, rtm->rtm_flags, 6); in route_Show() 367 prompt_Printf(arg->prompt, " %s\n", Index2Nam(rtm->rtm_index)); in route_Show() 381 struct rt_msghdr *rtm; in route_IfDelete() local [all …]
|
/freebsd/sbin/ipf/ipsend/ |
H A D | 44arp.c | 63 struct rt_msghdr *rtm; in arp() local 102 for (next = buf; next < lim; next += rtm->rtm_msglen) in arp() 104 rtm = (struct rt_msghdr *)next; in arp() 105 sin = (struct sockaddr_in *)(rtm + 1); in arp()
|