VirtualBox

Changeset 11072 in vbox for trunk/include


Ignore:
Timestamp:
Aug 1, 2008 10:24:51 PM (16 years ago)
Author:
vboxsync
Message:

IntNet,VBoxNetFlt: Implememnted ARP editing when sharing MAC address with the host (on the wire). Fixed an invalid buffer access in intnetR0SgReadPart[Slow]. Fixed multicast/broadcast mixup, broadcast was identified as multicast.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/intnet.h

    r11062 r11072  
    272272 * @{ */
    273273/** Set if the SG is free. */
    274 #define INTNETSG_FLAGS_FREE     RT_BIT_32(1)
     274#define INTNETSG_FLAGS_FREE             RT_BIT_32(1)
    275275/** Set if the SG is a temporary one that will become invalid upon return.
    276276 * Try to finish using it before returning, and if that's not possible copy
     
    278278 * When not set, the callee should always free the SG.
    279279 * Attempts to free it made by the callee will be quietly ignored. */
    280 #define INTNETSG_FLAGS_TEMP     RT_BIT_32(2)
     280#define INTNETSG_FLAGS_TEMP             RT_BIT_32(2)
     281/** ARP packet, IPv4 + MAC.
     282 * @internal */
     283#define INTNETSG_FLAGS_ARP_IPV4         RT_BIT_32(3)
     284/** Copied to the temporary buffer.
     285 * @internal */
     286#define INTNETSG_FLAGS_PKT_CP_IN_TMP    RT_BIT_32(4)
    281287/** @} */
    282288
     
    288294/** To/From the host. */
    289295#define INTNETTRUNKDIR_HOST             RT_BIT_32(1)
    290 /** To the wire but with RTNETETHERHDR::SrcMac set to the host interface MAC address. */
    291 #define INTNETTRUNKDIR_WIRE_SHARED      RT_BIT_32(2)
    292296/** Mask of valid bits. */
    293 #define INTNETTRUNKDIR_VALID_MASK       UINT32_C(0x7)
     297#define INTNETTRUNKDIR_VALID_MASK       UINT32_C(3)
    294298/** @} */
    295299
     
    472476
    473477    /**
     478     * Gets the MAC address of the host network interface that we're attached to.
     479     *
     480     * @param   pIfPort     Pointer to this structure.
     481     * @param   pMac        Where to store the host MAC address.
     482     *
     483     * @remarks Called while owning the network and the out-bound trunk port semaphores.
     484     */
     485    DECLR0CALLBACKMEMBER(void, pfnGetMacAddress,(PINTNETTRUNKIFPORT pIfPort, PPDMMAC pMac));
     486
     487    /**
    474488     * Tests if the mac address belongs to any of the host NICs
    475489     * and should take the host route.
     
    484498     * @remarks TAP and NAT will compare with their own MAC address and let all their
    485499     *          traffic take the host direction.
     500     *
     501     * @remarks This didn't quiet work out the way it should... perhaps obsolete this
     502     *          with pfnGetHostMac?
    486503     */
    487504    DECLR0CALLBACKMEMBER(bool, pfnIsHostMac,(PINTNETTRUNKIFPORT pIfPort, PCPDMMAC pMac));
     
    575592typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY;
    576593
    577 /** The UUID for the (current) trunk factory */
    578 #define INTNETTRUNKFACTORY_UUID_STR     "c913a8e4-8593-41cd-ae73-f8d7701b08fb"
     594/** The UUID for the (current) trunk factory. (case sensitive) */
     595#define INTNETTRUNKFACTORY_UUID_STR     "ae8fcb95-280c-42f4-a8f1-09f84e3bdab3"
    579596
    580597
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