VirtualBox

Changeset 15149 in vbox


Ignore:
Timestamp:
Dec 9, 2008 10:09:10 AM (16 years ago)
Author:
vboxsync
Message:

slirp:icmp: set of hacks over Win ICMP Api introduced

  1. guest address hack
  2. ICMP seq and identifier (see xTracker #2752 for details)
Location:
trunk/src/VBox/Devices/Network/slirp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/ip_icmp.c

    r15143 r15149  
    329329                }
    330330# else /* RT_OS_WINDOWS */
     331                pData->icmp_socket.so_laddr.s_addr = ip->ip_src.s_addr; /* XXX: hack*/
     332                pData->icmp_socket.so_icmp_id = icp->icmp_id;
     333                pData->icmp_socket.so_icmp_seq = icp->icmp_seq;
    331334                memset(&ipopt, 0, sizeof(IP_OPTION_INFORMATION));
    332335                ipopt.Ttl = ip->ip_ttl;
  • trunk/src/VBox/Devices/Network/slirp/socket.c

    r15143 r15149  
    877877                                ip->ip_src.s_addr = icr[i].Address;
    878878                                ip->ip_p = IPPROTO_ICMP;
    879                                 ip->ip_dst.s_addr = inet_addr("10.0.0.15"); /*XXX:hack here*/
     879                                ip->ip_dst.s_addr = so->so_laddr.s_addr; /*XXX: still the hack*/
    880880                                ip->ip_hl = sizeof(struct ip) >> 2;
    881881
     
    883883                                icp->icmp_type = ICMP_ECHOREPLY;
    884884                                icp->icmp_code = 0;
     885                                icp->icmp_id = so->so_icmp_id;
     886                                icp->icmp_seq = so->so_icmp_seq;
    885887                                memcpy(icp->icmp_data, icr[i].Data, icr[i].DataSize);
    886888
  • trunk/src/VBox/Devices/Network/slirp/socket.h

    r15143 r15149  
    2323    struct socket   *so_prev;    /* For a linked list of sockets */
    2424
    25 #ifndef RT_OS_WINDOWS
     25#if !defined(VBOX_WITH_SLIRP_ICMP) || !defined(RT_OS_WINDOWS)
    2626    int s;                       /* The actual socket */
    2727#else
     
    3030            HANDLE sh;
    3131    };
     32    uint64_t so_icmp_id; /* XXX: hack */
     33    uint64_t so_icmp_seq; /* XXX: hack */
    3234#endif
    3335
Note: See TracChangeset for help on using the changeset viewer.

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