1
10
13
14
20
21
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
78
82
83
84
85
88
89
90
93
94
95
98
99
100
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
...
...
...
...
...
#ifndef NX_ND_CACHE_H
#define NX_ND_CACHE_H
#include "nx_ip.h"
#include "nx_ipv6.h"
#ifdef FEATURE_NX_IPV6
#define ND_CACHE_STATE_INVALID 0
#define ND_CACHE_STATE_INCOMPLETE 1
#define ND_CACHE_STATE_REACHABLE 2
#define ND_CACHE_STATE_STALE 3
#define ND_CACHE_STATE_DELAY 4
#define ND_CACHE_STATE_PROBE 5
#define ND_CACHE_STATE_CREATED 6
7 defines
/* ... */
#ifndef NX_MAX_MULTICAST_SOLICIT
#define NX_MAX_MULTICAST_SOLICIT 3
/* ... */#endif
#ifndef NX_MAX_UNICAST_SOLICIT
#define NX_MAX_UNICAST_SOLICIT 3
/* ... */#endif
#ifndef NX_REACHABLE_TIME
#define NX_REACHABLE_TIME 30
/* ... */#endif
#ifndef NX_RETRANS_TIMER
#define NX_RETRANS_TIMER 1000
/* ... */#endif
#ifndef NX_DELAY_FIRST_PROBE_TIME
#define NX_DELAY_FIRST_PROBE_TIME 5
#endif
UINT _nx_nd_cache_interface_entries_delete(NX_IP *ip_ptr, UINT index);
UINT _nx_nd_cache_add(NX_IP *ip_ptr, ULONG *dest_ip, NX_INTERFACE *if_index, CHAR *mac, INT IsStatic, INT status, NXD_IPV6_ADDRESS *nxd_interface, ND_CACHE_ENTRY **entry);
UINT _nx_nd_cache_delete_internal(NX_IP *ip_ptr, ND_CACHE_ENTRY *entry);
VOID _nx_nd_cache_fast_periodic_update(NX_IP *ip_ptr);
UINT _nx_nd_cache_find_entry(NX_IP *ip_ptr, ULONG *dest_ip, ND_CACHE_ENTRY **entry);
UINT _nx_nd_cache_add_entry(NX_IP *ip_ptr, ULONG *dest_ip, NXD_IPV6_ADDRESS *nxd_address, ND_CACHE_ENTRY **entry);
UINT _nx_nd_cache_find_entry_by_mac_addr(NX_IP *ip_ptr, ULONG physical_msw, ULONG physical_lsw, ND_CACHE_ENTRY **entry);
VOID _nxd_nd_cache_invalidate_internal(NX_IP *ip_ptr);
VOID _nx_nd_cache_slow_periodic_update(NX_IP *ip_ptr);
VOID _nx_invalidate_destination_entry(NX_IP *ip_ptr, ULONG *next_hop_ip);/* ... */
#endif
UINT _nxd_nd_cache_entry_delete(NX_IP *ip_ptr, ULONG *dest_ip);
UINT _nxde_nd_cache_entry_delete(NX_IP *ip_ptr, ULONG *dest_ip);
UINT _nxd_nd_cache_entry_set(NX_IP *ip_ptr, ULONG *dest_ip, UINT if_index, CHAR *mac);
UINT _nxde_nd_cache_entry_set(NX_IP *ip_ptr, ULONG *dest_ip, UINT if_index, CHAR *mac);
UINT _nxd_nd_cache_invalidate(NX_IP *ip_ptr);
UINT _nxde_nd_cache_invalidate(NX_IP *ip_ptr);
UINT _nxd_nd_cache_ip_address_find(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, ULONG physical_msw, ULONG physical_lsw, UINT *if_index);
UINT _nxde_nd_cache_ip_address_find(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, ULONG physical_msw, ULONG physical_lsw, UINT *if_index);
UINT _nxd_nd_cache_hardware_address_find(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, ULONG *physical_msw, ULONG *physical_lsw, UINT *if_index);
UINT _nxde_nd_cache_hardware_address_find(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, ULONG *physical_msw, ULONG *physical_lsw, UINT *if_index);
/* ... */
#endif ...