* Callback storing converted rtable prefixes in the temporary array. * Addresses are converted to a host order. */
| 195 | * Addresses are converted to a host order. |
| 196 | */ |
| 197 | static enum flm_op_result |
| 198 | bsearch4_add_route_cb(struct rtentry *rt, void *_data) |
| 199 | { |
| 200 | struct bsearch4_data *bd = (struct bsearch4_data *)_data; |
| 201 | struct bsearch4_record *rr; |
| 202 | struct in_addr addr4, mask4; |
| 203 | uint32_t scopeid; |
| 204 | |
| 205 | if (bd->num_items >= bd->alloc_items) |
| 206 | return (FLM_REBUILD); |
| 207 | |
| 208 | rr = &bd->rr[bd->num_items++]; |
| 209 | rt_get_inet_prefix_pmask(rt, &addr4, &mask4, &scopeid); |
| 210 | rr->addr4 = ntohl(addr4.s_addr); |
| 211 | rr->mask4 = ntohl(mask4.s_addr); |
| 212 | rr->nh = rt_get_raw_nhop(rt); |
| 213 | |
| 214 | return (FLM_SUCCESS); |
| 215 | } |
| 216 | |
| 217 | /* |
| 218 | * Prefix comparison function. |
nothing calls this directly
no test coverage detected