* Fill in basic IPv6 address request info. */
| 899 | * Fill in basic IPv6 address request info. |
| 900 | */ |
| 901 | void |
| 902 | in6_prepare_ifra(struct in6_aliasreq *ifra, const struct in6_addr *addr, |
| 903 | const struct in6_addr *mask) |
| 904 | { |
| 905 | |
| 906 | memset(ifra, 0, sizeof(struct in6_aliasreq)); |
| 907 | |
| 908 | ifra->ifra_addr.sin6_family = AF_INET6; |
| 909 | ifra->ifra_addr.sin6_len = sizeof(struct sockaddr_in6); |
| 910 | if (addr != NULL) |
| 911 | ifra->ifra_addr.sin6_addr = *addr; |
| 912 | |
| 913 | ifra->ifra_prefixmask.sin6_family = AF_INET6; |
| 914 | ifra->ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6); |
| 915 | if (mask != NULL) |
| 916 | ifra->ifra_prefixmask.sin6_addr = *mask; |
| 917 | } |
| 918 | |
| 919 | static int |
| 920 | in6_validate_ifra(struct ifnet *ifp, struct in6_aliasreq *ifra, |
no test coverage detected