Lines Matching refs:tlbt

83 static int is_better_match(in_addr_t newaddr, int indx, tnrh_tlb_t *tlbt);
103 static void print_tlbt(tnrh_tlb_t *tlbt);
785 tnrh_tlb_t *tlbt; in handle_unvisited_nodes() local
789 if ((tlbt = tnrh_cache_table[i]) != NULL) in handle_unvisited_nodes()
791 if (tlbt->src->visited == 0) { in handle_unvisited_nodes()
796 tlbt->reload = TNDB_DELETE; in handle_unvisited_nodes()
800 tlbt = tlbt->next; in handle_unvisited_nodes()
801 } while (tlbt != NULL); in handle_unvisited_nodes()
860 tnrh_tlb_ipv6_t *tlbt; in handle_unvisited_nodes_v6() local
864 if ((tlbt = tnrh_cache_table_v6[i]) != NULL) in handle_unvisited_nodes_v6()
866 if (tlbt->src->visited == 0) { in handle_unvisited_nodes_v6()
871 tlbt->reload = TNDB_DELETE; in handle_unvisited_nodes_v6()
875 tlbt = tlbt->next; in handle_unvisited_nodes_v6()
876 } while (tlbt != NULL); in handle_unvisited_nodes_v6()
1173 tnrh_tlb_t *tlbt; in add_cache_entry() local
1183 if ((tlbt = (tnrh_tlb_t *)calloc(1, sizeof (tnrh_tlb_t))) == NULL) in add_cache_entry()
1185 tlbt->addr = addr; in add_cache_entry()
1186 (void) strncpy(tlbt->template_name, name, TNTNAMSIZ-1); in add_cache_entry()
1187 tlbt->masklen_used = indx; in add_cache_entry()
1188 tlbt->reload = TNDB_LOAD; in add_cache_entry()
1189 tlbt->src = src; in add_cache_entry()
1193 print_tlbt(tlbt); in add_cache_entry()
1197 tnrh_cache_table[hash] = tlbt; in add_cache_entry()
1200 tlbt->next = tnrh_cache_table[hash]; in add_cache_entry()
1201 tnrh_cache_table[hash] = tlbt; in add_cache_entry()
1208 tnrh_tlb_t *tlbt = NULL; in lookup_cache_table() local
1212 tlbt = tnrh_cache_table[hash]; in lookup_cache_table()
1213 while (tlbt != NULL) { in lookup_cache_table()
1214 if (addr == tlbt->addr) in lookup_cache_table()
1216 tlbt = tlbt->next; in lookup_cache_table()
1218 return (tlbt); in lookup_cache_table()
1226 tnrh_tlb_ipv6_t *tlbt; in add_cache_entry_v6() local
1234 if ((tlbt = (tnrh_tlb_ipv6_t *)calloc(1, in add_cache_entry_v6()
1237 (void) memcpy(&tlbt->addr, &addr, sizeof (in6_addr_t)); in add_cache_entry_v6()
1238 (void) strncpy(tlbt->template_name, name, TNTNAMSIZ-1); in add_cache_entry_v6()
1239 tlbt->masklen_used = indx; in add_cache_entry_v6()
1240 tlbt->reload = TNDB_LOAD; in add_cache_entry_v6()
1241 tlbt->src = src; in add_cache_entry_v6()
1245 tnrh_cache_table_v6[hash] = tlbt; in add_cache_entry_v6()
1248 tlbt->next = tnrh_cache_table_v6[hash]; in add_cache_entry_v6()
1249 tnrh_cache_table_v6[hash] = tlbt; in add_cache_entry_v6()
1256 tnrh_tlb_ipv6_t *tlbt = NULL; in lookup_cache_table_v6() local
1260 tlbt = tnrh_cache_table_v6[hash]; in lookup_cache_table_v6()
1261 while (tlbt != NULL) { in lookup_cache_table_v6()
1262 if (IN6_ARE_ADDR_EQUAL(&addr, &tlbt->addr)) in lookup_cache_table_v6()
1264 tlbt = tlbt->next; in lookup_cache_table_v6()
1266 return (tlbt); in lookup_cache_table_v6()
1283 tnrh_tlb_t *tlbt; in update_cache_table() local
1291 tlbt = lookup_cache_table(addr); in update_cache_table()
1294 if (tlbt == NULL) { in update_cache_table()
1345 tnrh_tlb_ipv6_t *tlbt; in update_cache_table_v6() local
1355 tlbt = lookup_cache_table_v6(addr); in update_cache_table_v6()
1359 if (tlbt == NULL) { in update_cache_table_v6()
1391 is_better_match(in_addr_t newaddr, int indx, tnrh_tlb_t *tlbt) in is_better_match() argument
1393 if (tlbt->masklen_used <= indx) { in is_better_match()
1396 if ((newaddr) == (tlbt->addr & tmpmask)) in is_better_match()
1413 tnrh_tlb_t *tlbt; in walk_cache_table() local
1417 tlbt = tnrh_cache_table[i]; in walk_cache_table()
1419 while (tlbt != NULL) { in walk_cache_table()
1420 if (is_better_match(newaddr, indx, tlbt)) { in walk_cache_table()
1421 tlbt->masklen_used = indx; in walk_cache_table()
1422 tlbt->src = src; in walk_cache_table()
1430 if (strcmp(name, tlbt->template_name) != 0) { in walk_cache_table()
1431 (void) strncpy(tlbt->template_name, in walk_cache_table()
1433 tlbt->reload = TNDB_LOAD; in walk_cache_table()
1438 tlbt = tlbt->next; in walk_cache_table()
1452 is_better_match_v6(in6_addr_t newaddr, int indx, tnrh_tlb_ipv6_t *tlbt) in is_better_match_v6() argument
1456 if (tlbt->masklen_used <= indx) { in is_better_match_v6()
1459 if (V6_MASK_EQ(newaddr, tmpmask, tlbt->addr)) in is_better_match_v6()
1476 tnrh_tlb_ipv6_t *tlbt; in walk_cache_table_v6() local
1480 tlbt = tnrh_cache_table_v6[i]; in walk_cache_table_v6()
1482 while (tlbt != NULL) { in walk_cache_table_v6()
1483 if (is_better_match_v6(newaddr, indx, tlbt)) { in walk_cache_table_v6()
1484 tlbt->masklen_used = indx; in walk_cache_table_v6()
1485 tlbt->src = src; in walk_cache_table_v6()
1493 if (strcmp(name, tlbt->template_name) != 0) { in walk_cache_table_v6()
1494 (void) strncpy(tlbt->template_name, in walk_cache_table_v6()
1496 tlbt->reload = TNDB_LOAD; in walk_cache_table_v6()
1501 tlbt = tlbt->next; in walk_cache_table_v6()
1517 tnrh_tlb_t *tlbt, *prev; in load_rh_marked() local
1524 prev = tlbt = tnrh_cache_table[i]; in load_rh_marked()
1526 while (tlbt != NULL) { in load_rh_marked()
1527 if ((tlbt->reload == TNDB_LOAD) || in load_rh_marked()
1528 (tlbt->reload == TNDB_DELETE)) { in load_rh_marked()
1534 tlbt->addr; in load_rh_marked()
1537 rhentp.rh_prefix = tlbt->masklen_used; in load_rh_marked()
1539 tlbt->template_name); in load_rh_marked()
1543 tlbt->reload); in load_rh_marked()
1544 print_tlbt(tlbt); in load_rh_marked()
1546 update_rh_entry(tlbt->reload, &rhentp); in load_rh_marked()
1548 if (tlbt->reload == TNDB_DELETE) { in load_rh_marked()
1549 if (tlbt == tnrh_cache_table[i]) { in load_rh_marked()
1551 tlbt->next; in load_rh_marked()
1554 prev->next = tlbt->next; in load_rh_marked()
1558 free(tlbt); in load_rh_marked()
1562 tlbt = prev; in load_rh_marked()
1566 tlbt->reload = TNDB_NOOP; in load_rh_marked()
1569 prev = tlbt; in load_rh_marked()
1570 tlbt = tlbt->next; in load_rh_marked()
1581 tnrh_tlb_ipv6_t *tlbt, *prev; in load_rh_marked_v6() local
1587 prev = tlbt = tnrh_cache_table_v6[i]; in load_rh_marked_v6()
1589 while (tlbt != NULL) { in load_rh_marked_v6()
1590 if ((tlbt->reload == TNDB_LOAD) || in load_rh_marked_v6()
1591 (tlbt->reload == TNDB_DELETE)) { in load_rh_marked_v6()
1597 &tlbt->addr, sizeof (in6_addr_t)); in load_rh_marked_v6()
1599 rhentp.rh_prefix = tlbt->masklen_used; in load_rh_marked_v6()
1600 (void) strcpy(rhentp.rh_template, tlbt->template_name); in load_rh_marked_v6()
1602 update_rh_entry(tlbt->reload, &rhentp); in load_rh_marked_v6()
1604 if (tlbt->reload == TNDB_DELETE) { in load_rh_marked_v6()
1605 if (tlbt == tnrh_cache_table_v6[i]) { in load_rh_marked_v6()
1607 tlbt->next; in load_rh_marked_v6()
1610 prev->next = tlbt->next; in load_rh_marked_v6()
1614 free(tlbt); in load_rh_marked_v6()
1618 tlbt = prev; in load_rh_marked_v6()
1622 tlbt->reload = TNDB_NOOP; in load_rh_marked_v6()
1625 prev = tlbt; in load_rh_marked_v6()
1626 tlbt = tlbt->next; in load_rh_marked_v6()
1768 print_cache_entry(tnrh_tlb_t *tlbt) in print_cache_entry() argument
1772 addr.s_addr = tlbt->addr; in print_cache_entry()
1774 (void) fprintf(logf, "\tTemplate name: %s", tlbt->template_name); in print_cache_entry()
1775 (void) fprintf(logf, "\tMask length used: %d\n", tlbt->masklen_used); in print_cache_entry()
1779 print_cache_entry_v6(tnrh_tlb_ipv6_t *tlbt) in print_cache_entry_v6() argument
1784 inet_ntop(AF_INET6, &tlbt->addr, abuf, sizeof (abuf))); in print_cache_entry_v6()
1785 (void) fprintf(logf, "\tTemplate name: %s", tlbt->template_name); in print_cache_entry_v6()
1786 (void) fprintf(logf, "\tMask length used: %d\n", tlbt->masklen_used); in print_cache_entry_v6()
1793 tnrh_tlb_t *tlbt; in cachetable_print() local
1799 if ((tlbt = tnrh_cache_table[i]) != NULL) in cachetable_print()
1800 print_cache_entry(tlbt); in cachetable_print()
1811 tnrh_tlb_ipv6_t *tlbt; in cachetable_print_v6() local
1817 if ((tlbt = tnrh_cache_table_v6[i]) != NULL) in cachetable_print_v6()
1818 print_cache_entry_v6(tlbt); in cachetable_print_v6()
1851 print_tlbt(tnrh_tlb_t *tlbt) in print_tlbt() argument
1854 mask = %u, reload = %d\n", tlbt->addr, tlbt->template_name, in print_tlbt()
1855 tlbt->masklen_used, tlbt->reload); in print_tlbt()