1 /*
2  * test IP counter functions.
3  */
4 
5 #include "ufdblib.h"
6 #include <stdio.h>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
main()12 int main()
13 {
14    int i;
15 
16    UFDBinitializeIPcounters();
17 
18    printf( "#IP: %lu (0)\n", UFDBgetNumberOfRegisteredIPs() );
19 
20    UFDBregisterCountedIP( "10.1.0.8" );
21    UFDBregisterCountedIP( "10.1.0.8" );
22    UFDBregisterCountedIP( "10.1.0.8" );
23    UFDBregisterCountedIP( "10.1.0.8" );
24 
25    printf( "#IP: %lu (1)\n", UFDBgetNumberOfRegisteredIPs() );
26 
27    UFDBregisterCountedIP( "10.1.0.7" );
28    UFDBregisterCountedIP( "10.1.0.8" );
29    UFDBregisterCountedIP( "10.1.0.9" );
30 
31    printf( "#IP: %lu (3)\n", UFDBgetNumberOfRegisteredIPs() );
32 
33    UFDBregisterCountedIP( "10.2.0.7" );
34    UFDBregisterCountedIP( "10.3.0.7" );
35    UFDBregisterCountedIP( "10.4.0.7" );
36 
37    printf( "#IP: %lu (6)\n", UFDBgetNumberOfRegisteredIPs() );
38 
39    UFDBregisterCountedIP( "10.3.1.7" );
40    UFDBregisterCountedIP( "10.3.2.7" );
41    UFDBregisterCountedIP( "10.3.3.7" );
42 
43    printf( "#IP: %lu (9)\n", UFDBgetNumberOfRegisteredIPs() );
44 
45    UFDBregisterCountedIP( "10.63.83.107" );
46    UFDBregisterCountedIP( "10.222.83.108" );
47    UFDBregisterCountedIP( "254.252.231.244" );
48    UFDBregisterCountedIP( "254.253.231.244" );
49 
50    printf( "#IP: %lu (13)\n", UFDBgetNumberOfRegisteredIPs() );
51 
52    UFDBregisterCountedIP( "pc01.neverseenbeforeextremelyverylonginternalmydomain01.net" );
53    UFDBregisterCountedIP( "pc02.neverseenbeforeextremelyverylonginternalmydomain01.net" );
54    UFDBregisterCountedIP( "pc03.neverseenbeforeextremelyverylonginternalmydomain01.net" );
55 
56 #if 1
57    /* time iptst takes 0.40 sec for 10 million+ calls on old Xeon 2.8 GHz 512 KB cache */
58    for (i = 10000000; i>0; i--)
59       UFDBregisterCountedIP( "10.22.183.177" );
60 #endif
61    printf( "#IP: %lu (17)\n", UFDBgetNumberOfRegisteredIPs() );
62 
63    UFDBregisterCountedIP( "10.0.0.14" );
64    UFDBregisterCountedIP( "10.0.0.15" );
65    UFDBregisterCountedIP( "10.0.0.16" );
66    UFDBregisterCountedIP( "10.0.0.17" );
67    UFDBregisterCountedIP( "10.0.0.18" );
68    UFDBregisterCountedIP( "10.0.0.19" );
69    UFDBregisterCountedIP( "10.0.0.20" );
70    UFDBregisterCountedIP( "10.0.0.21" );
71    UFDBregisterCountedIP( "10.0.0.22" );
72    UFDBregisterCountedIP( "10.0.0.23" );
73    UFDBregisterCountedIP( "10.0.0.24" );
74    UFDBregisterCountedIP( "10.0.0.25" );
75    UFDBregisterCountedIP( "10.0.0.26" );
76    UFDBregisterCountedIP( "10.0.0.27" );
77    UFDBregisterCountedIP( "10.0.0.28" );
78    UFDBregisterCountedIP( "10.0.0.29" );
79    UFDBregisterCountedIP( "10.0.0.30" );
80    UFDBregisterCountedIP( "10.0.0.31" );
81    UFDBregisterCountedIP( "10.0.0.32" );
82    UFDBregisterCountedIP( "10.0.0.33" );
83    UFDBregisterCountedIP( "10.0.0.34" );
84    UFDBregisterCountedIP( "10.0.0.35" );
85    UFDBregisterCountedIP( "10.0.0.36" );
86    UFDBregisterCountedIP( "10.0.0.37" );
87    UFDBregisterCountedIP( "10.0.0.38" );
88    UFDBregisterCountedIP( "10.0.0.39" );
89    UFDBregisterCountedIP( "10.0.0.40" );
90    UFDBregisterCountedIP( "10.0.0.41" );
91    UFDBregisterCountedIP( "10.0.0.42" );
92    UFDBregisterCountedIP( "10.0.0.43" );
93    UFDBregisterCountedIP( "10.0.0.44" );
94 
95    UFDBregisterCountedIP( "10.0.0.45" );
96    printf( "#IP: %lu (49)\n", UFDBgetNumberOfRegisteredIPs() );
97 
98    UFDBregisterCountedIP( "11.0.0.14" );
99 
100    UFDBregisterCountedIP( "11.0.0.15" );
101 
102    UFDBregisterCountedIP( "11.1.1.14" );
103    printf( "#IP: %lu (50)\n", UFDBgetNumberOfRegisteredIPs() );
104 
105    UFDBregisterCountedIP( "11.255.255.14" );
106    UFDBregisterCountedIP( "11.255.255.254" );
107    UFDBregisterCountedIP( "11.255.255.255" );
108 
109    printf( "#IP: %lu (53)\n", UFDBgetNumberOfRegisteredIPs() );
110 
111    return 0;
112 }
113 
114 
115 #ifdef __cplusplus
116 }
117 #endif
118