Lines 1418-1438
Link Here
|
1418 |
|
1418 |
|
1419 |
static int |
1419 |
static int |
1420 |
in_lltable_rtcheck(struct ifnet *ifp, u_int flags, const struct sockaddr *l3addr) |
1420 |
in_lltable_rtcheck(struct ifnet *ifp, u_int flags, const struct sockaddr *l3addr) |
1421 |
{ |
1421 |
{ |
1422 |
struct rtentry *rt; |
1422 |
struct rtentry *rt; |
1423 |
|
1423 |
|
1424 |
KASSERT(l3addr->sa_family == AF_INET, |
1424 |
KASSERT(l3addr->sa_family == AF_INET, |
1425 |
("sin_family %d", l3addr->sa_family)); |
1425 |
("sin_family %d", l3addr->sa_family)); |
1426 |
|
1426 |
|
1427 |
/* XXX rtalloc1 should take a const param */ |
1427 |
/* XXX rtalloc1 should take a const param */ |
1428 |
rt = rtalloc1(__DECONST(struct sockaddr *, l3addr), 0, 0); |
1428 |
rt = rtalloc1_fib(__DECONST(struct sockaddr *, l3addr), 0, 0, ifp->if_fib); |
1429 |
|
1429 |
|
1430 |
if (rt == NULL) |
1430 |
if (rt == NULL) |
1431 |
return (EINVAL); |
1431 |
return (EINVAL); |
1432 |
|
1432 |
|
1433 |
/* |
1433 |
/* |
1434 |
* If the gateway for an existing host route matches the target L3 |
1434 |
* If the gateway for an existing host route matches the target L3 |
1435 |
* address, which is a special route inserted by some implementation |
1435 |
* address, which is a special route inserted by some implementation |
1436 |
* such as MANET, and the interface is of the correct type, then |
1436 |
* such as MANET, and the interface is of the correct type, then |
1437 |
* allow for ARP to proceed. |
1437 |
* allow for ARP to proceed. |
1438 |
*/ |
1438 |
*/ |