VirtualBox

Ignore:
Timestamp:
Apr 27, 2010 6:36:48 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
60675
Message:

NAT: introduces management routines of NAT libalias core. (see xTracker/#4843 for details)

Location:
trunk/src/VBox/Devices/Network/slirp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/ext.h

    r28449 r28787  
    6262static void vbox_slirp_printV(char *format, va_list args)
    6363{
    64 # ifdef LOG_ENABLED
    6564    char buffer[1024];
    6665    memset(buffer, 0, 1024);
    6766    RTStrPrintfV(buffer, 1024, format, args);
    6867
    69     Log2(("NAT:EXT: %s\n", buffer));
    70 # endif
     68    LogRel(("NAT:EXT: %s\n", buffer));
    7169}
    7270#endif
     
    7573static void vbox_slirp_printf(char *format, ...)
    7674{
    77 # ifdef LOG_ENABLED
    7875    va_list args;
    7976    va_start(args, format);
    8077    vbox_slirp_printV(format, args);
    8178    va_end(args);
    82 # endif
    8379}
    8480#endif
  • trunk/src/VBox/Devices/Network/slirp/libslirp.h

    r28449 r28787  
    5050#endif
    5151
    52 int slirp_init(PNATState *, uint32_t, uint32_t, bool, bool, void *);
     52int slirp_init(PNATState *, uint32_t, uint32_t, bool, bool, int, void *);
    5353void slirp_register_statistics(PNATState pData, PPDMDRVINS pDrvIns);
    5454void slirp_deregister_statistics(PNATState pData, PPDMDRVINS pDrvIns);
  • trunk/src/VBox/Devices/Network/slirp/slirp.c

    r28502 r28787  
    571571
    572572int slirp_init(PNATState *ppData, uint32_t u32NetAddr, uint32_t u32Netmask,
    573                bool fPassDomain, bool fUseHostResolver, void *pvUser)
     573               bool fPassDomain, bool fUseHostResolver, int i32AliasMode, void *pvUser)
    574574{
    575575    int fNATfailed = 0;
     
    641641        dnsproxy_init(pData);
    642642    }
    643 
     643    if (i32AliasMode & ~(PKT_ALIAS_LOG|PKT_ALIAS_SAME_PORTS|PKT_ALIAS_PROXY_ONLY))
     644    {
     645        LogRel(("NAT: alias mode %x is ignored\n", i32AliasMode));
     646        i32AliasMode = 0;
     647    }
     648    pData->i32AliasMode = i32AliasMode;
    644649    getouraddr(pData);
    645650    {
     
    656661        flags |= PKT_ALIAS_PUNCH_FW;
    657662#endif
    658         flags |= PKT_ALIAS_PROXY_ONLY; /* do transparent proxying */
    659         flags |= PKT_ALIAS_LOG; /* set logging */
     663        flags |= pData->i32AliasMode; /* do transparent proxying */
    660664        flags = LibAliasSetMode(pData->proxy_alias, flags, ~0);
    661665        proxy_addr.s_addr = RT_H2N_U32(RT_N2H_U32(pData->special_addr.s_addr) | CTL_ALIAS);
     
    17811785        lib = LibAliasInit(pData, NULL);
    17821786        flags = LibAliasSetMode(lib, 0, 0);
    1783         flags |= PKT_ALIAS_LOG; /* set logging */
    1784         flags |= PKT_ALIAS_PROXY_ONLY; /* do transparent proxying */
    1785         flags |= PKT_ALIAS_REVERSE; /* set logging */
     1787        flags |= pData->i32AliasMode;
     1788        flags |= PKT_ALIAS_REVERSE; /* set reverse  */
    17861789        flags = LibAliasSetMode(lib, flags, ~0);
    17871790
  • trunk/src/VBox/Devices/Network/slirp/slirp_state.h

    r28449 r28787  
    313313
    314314    LIST_HEAD(RT_NOTHING, libalias) instancehead;
     315    int    i32AliasMode;
    315316    struct libalias *proxy_alias;
    316317    struct libalias *dns_alias;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette