| 613 | } |
| 614 | |
| 615 | static void |
| 616 | print_usage(void) |
| 617 | { |
| 618 | fprintf(stdout, |
| 619 | PRINT_USAGE_START |
| 620 | "[-f <routes file>]\n" |
| 621 | "[-t <ip's file for lookup>]\n" |
| 622 | "[-n <number of routes (if -f is not specified)>]\n" |
| 623 | "[-l <number of ip's for lookup (if -t is not specified)>]\n" |
| 624 | "[-d <\",\" separated \"depth:n%%\"routes depth distribution" |
| 625 | "(if -f is not specified)>]\n" |
| 626 | "[-r <percentage ratio of random ip's to lookup" |
| 627 | "(if -t is not specified)>]\n" |
| 628 | "[-c <do comparison with LPM library>]\n" |
| 629 | "[-6 <do tests with ipv6 (default ipv4)>]\n" |
| 630 | "[-s <shuffle randomly generated routes>]\n" |
| 631 | "[-a <check nexthops for all ipv4 address space" |
| 632 | "(only valid with -c)>]\n" |
| 633 | "[-b <fib algorithm>]\n\tavailable options for ipv4\n" |
| 634 | "\t\trib - RIB based FIB\n" |
| 635 | "\t\tdir - DIR24_8 based FIB\n" |
| 636 | "\tavailable options for ipv6:\n" |
| 637 | "\t\trib - RIB based FIB\n" |
| 638 | "\t\ttrie - TRIE based FIB\n" |
| 639 | "defaults are: dir for ipv4 and trie for ipv6\n" |
| 640 | "[-e <entry size (valid only for dir and trie fib types): " |
| 641 | "1/2/4/8 (default 4)>]\n" |
| 642 | "[-g <number of tbl8's for dir24_8 or trie FIBs>]\n" |
| 643 | "[-w <path to the file to dump routing table>]\n" |
| 644 | "[-u <path to the file to dump ip's for lookup>]\n" |
| 645 | "[-v <type of lookup function:" |
| 646 | "\ts1, s2, s3 (3 types of scalar), v (vector) -" |
| 647 | " for DIR24_8 based FIB\n" |
| 648 | "\ts, v - for TRIE based ipv6 FIB>]\n", |
| 649 | config.prgname); |
| 650 | } |
| 651 | |
| 652 | static int |
| 653 | check_config(void) |