| 851 | } |
| 852 | |
| 853 | static void |
| 854 | export_rtaddrs(const struct rtentry *rt, struct sockaddr *dst, |
| 855 | struct sockaddr *mask) |
| 856 | { |
| 857 | #ifdef INET |
| 858 | if (dst->sa_family == AF_INET) { |
| 859 | struct sockaddr_in *dst4 = (struct sockaddr_in *)dst; |
| 860 | struct sockaddr_in *mask4 = (struct sockaddr_in *)mask; |
| 861 | uint32_t scopeid = 0; |
| 862 | rt_get_inet_prefix_pmask(rt, &dst4->sin_addr, &mask4->sin_addr, |
| 863 | &scopeid); |
| 864 | return; |
| 865 | } |
| 866 | #endif |
| 867 | #ifdef INET6 |
| 868 | if (dst->sa_family == AF_INET6) { |
| 869 | struct sockaddr_in6 *dst6 = (struct sockaddr_in6 *)dst; |
| 870 | struct sockaddr_in6 *mask6 = (struct sockaddr_in6 *)mask; |
| 871 | uint32_t scopeid = 0; |
| 872 | rt_get_inet6_prefix_pmask(rt, &dst6->sin6_addr, |
| 873 | &mask6->sin6_addr, &scopeid); |
| 874 | dst6->sin6_scope_id = scopeid; |
| 875 | return; |
| 876 | } |
| 877 | #endif |
| 878 | } |
| 879 | |
| 880 | |
| 881 | /* |
no test coverage detected