Changeset 38971 in vbox for trunk/src/VBox/Devices/Network/slirp
- Timestamp:
- Oct 10, 2011 8:28:30 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 74342
- Location:
- trunk/src/VBox/Devices/Network/slirp
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/ip_icmp.c
r38968 r38971 89 89 }; 90 90 91 static int icmp_cache_count(PNATState pData);92 91 static void icmp_cache_clean(PNATState pData, int iEntries); 93 92 94 93 int 95 icmp_init(PNATState pData )94 icmp_init(PNATState pData, int iIcmpCacheLimit) 96 95 { 97 96 pData->icmp_socket.so_type = IPPROTO_ICMP; 98 97 pData->icmp_socket.so_state = SS_ISFCONNECTED; 99 pData->iIcmpCacheLimit = 100; 98 if (iIcmpCacheLimit < 0) 99 { 100 LogRel(("NAT: iIcmpCacheLimit is invalid %d, will be alter to default value 100\n", iIcmpCacheLimit)); 101 iIcmpCacheLimit = 100; 102 } 103 pData->iIcmpCacheLimit = iIcmpCacheLimit; 100 104 #ifndef RT_OS_WINDOWS 101 105 # ifndef RT_OS_DARWIN … … 162 166 LIST_INIT(&pData->icmp_msg_head); 163 167 return 0; 168 } 169 170 /** 171 * Cleans ICMP cache. 172 */ 173 int 174 icmp_finit(PNATState pData) 175 { 176 icmp_cache_clean(pData, -1); 177 #ifdef RT_OS_WINDOWS 178 pData->pfIcmpCloseHandle(pData->icmp_socket.sh); 179 FreeLibrary(pData->hmIcmpLibrary); 180 RTMemFree(pData->pvIcmpBuffer); 181 #else 182 closesocket(pData->icmp_socket.s); 183 #endif 164 184 } 165 185 -
trunk/src/VBox/Devices/Network/slirp/ip_icmp.h
r28800 r38971 199 199 LIST_HEAD(icmp_storage, icmp_msg); 200 200 201 int icmp_init (PNATState ); 201 int icmp_init (PNATState , int); 202 int icmp_finit (PNATState ); 202 203 struct icmp_msg * icmp_find_original_mbuf (PNATState , struct ip *); 203 204 -
trunk/src/VBox/Devices/Network/slirp/libslirp.h
r38111 r38971 47 47 #endif 48 48 49 int slirp_init(PNATState *, uint32_t, uint32_t, bool, bool, int, void *);49 int slirp_init(PNATState *, uint32_t, uint32_t, bool, bool, int, int, void *); 50 50 void slirp_register_statistics(PNATState pData, PPDMDRVINS pDrvIns); 51 51 void slirp_deregister_statistics(PNATState pData, PPDMDRVINS pDrvIns); -
trunk/src/VBox/Devices/Network/slirp/slirp.c
r38170 r38971 584 584 585 585 int slirp_init(PNATState *ppData, uint32_t u32NetAddr, uint32_t u32Netmask, 586 bool fPassDomain, bool fUseHostResolver, int i32AliasMode, void *pvUser) 586 bool fPassDomain, bool fUseHostResolver, int i32AliasMode, 587 int iIcmpCacheLimit, void *pvUser) 587 588 { 588 589 int fNATfailed = 0; … … 635 636 if_init(pData); 636 637 ip_init(pData); 637 icmp_init(pData );638 icmp_init(pData, iIcmpCacheLimit); 638 639 639 640 /* Initialise mbufs *after* setting the MTU */ … … 772 773 if (pData == NULL) 773 774 return; 774 #ifdef RT_OS_WINDOWS 775 pData->pfIcmpCloseHandle(pData->icmp_socket.sh); 776 FreeLibrary(pData->hmIcmpLibrary); 777 RTMemFree(pData->pvIcmpBuffer); 778 #else 779 closesocket(pData->icmp_socket.s); 780 #endif 775 icmp_finit(pData); 781 776 782 777 slirp_link_down(pData);
Note:
See TracChangeset
for help on using the changeset viewer.