| 931 | } |
| 932 | |
| 933 | int |
| 934 | in_addprefix(struct in_ifaddr *target) |
| 935 | { |
| 936 | int error; |
| 937 | |
| 938 | if (in_hasrtprefix(target)) { |
| 939 | if (V_nosameprefix) |
| 940 | return (EEXIST); |
| 941 | else { |
| 942 | rt_addrmsg(RTM_ADD, &target->ia_ifa, |
| 943 | target->ia_ifp->if_fib); |
| 944 | return (0); |
| 945 | } |
| 946 | } |
| 947 | |
| 948 | /* |
| 949 | * No-one seem to have this prefix route, so we try to insert it. |
| 950 | */ |
| 951 | rt_addrmsg(RTM_ADD, &target->ia_ifa, target->ia_ifp->if_fib); |
| 952 | error = in_handle_ifaddr_route(RTM_ADD, target); |
| 953 | if (!error) |
| 954 | target->ia_flags |= IFA_ROUTE; |
| 955 | return (error); |
| 956 | } |
| 957 | |
| 958 | /* |
| 959 | * Removes either all lle entries for given @ia, or lle |
no test coverage detected