| 907 | } |
| 908 | |
| 909 | static void |
| 910 | export_rtaddrs(const struct rtentry *rt, struct sockaddr *dst, |
| 911 | struct sockaddr *mask) |
| 912 | { |
| 913 | if (dst->sa_family == AF_INET) { |
| 914 | struct sockaddr_in *dst4 = (struct sockaddr_in *)dst; |
| 915 | struct sockaddr_in *mask4 = (struct sockaddr_in *)mask; |
| 916 | uint32_t scopeid = 0; |
| 917 | rt_get_inet_prefix_pmask(rt, &dst4->sin_addr, &mask4->sin_addr, |
| 918 | &scopeid); |
| 919 | return; |
| 920 | } |
| 921 | #ifdef INET6 |
| 922 | if (dst->sa_family == AF_INET6) { |
| 923 | struct sockaddr_in6 *dst6 = (struct sockaddr_in6 *)dst; |
| 924 | struct sockaddr_in6 *mask6 = (struct sockaddr_in6 *)mask; |
| 925 | uint32_t scopeid = 0; |
| 926 | rt_get_inet6_prefix_pmask(rt, &dst6->sin6_addr, |
| 927 | &mask6->sin6_addr, &scopeid); |
| 928 | dst6->sin6_scope_id = scopeid; |
| 929 | return; |
| 930 | } |
| 931 | #endif |
| 932 | } |
| 933 | |
| 934 | static int |
| 935 | update_rtm_from_rc(struct rt_addrinfo *info, struct rt_msghdr **prtm, |
no test coverage detected