VirtualBox

Changeset 10733 in vbox for trunk/include


Ignore:
Timestamp:
Jul 17, 2008 10:42:30 PM (17 years ago)
Author:
vboxsync
Message:

intnet: Converted the internal frame handling to use the scatter/gatter list created for the trunk port (INTNETSG). Implemented the trunk receive path.

File:
1 edited

Legend:

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

    r10681 r10733  
    282282
    283283
    284 /**
    285  * Initializes a scatter / gather buffer from a internal networking packet.
    286  *
    287  * @returns Pointer to the start of the frame.
    288  * @param   pSG         Pointer to the scatter / gather structure.
    289  *                      (The pvOwnerData, fFlags, cUsers, and cSegsAlloc members are left untouched.)
    290  * @param   pHdr        Pointer to the packet header.
    291  * @param   pBuf        The buffer the header is within. Only used in strict builds.
    292  * @remarks Perhaps move this...
    293  */
    294 DECLINLINE(void) INTNETSgInitFromPkt(PINTNETSG pSG, PCINTNETHDR pPktHdr, PCINTNETBUF pBuf)
    295 {
    296     pSG->cSegsUsed = 1;
    297     pSG->cbTotal = pSG->aSegs[0].cb = pPktHdr->cbFrame;
    298     pSG->aSegs[0].pv = INTNETHdrGetFramePtr(pPktHdr, pBuf);
    299     pSG->aSegs[0].Phys = NIL_RTHCPHYS;
    300 }
    301 
    302 
    303284/** @name Direction (packet source or destination)
    304285 * @{ */
     
    626607 * @{ */
    627608/** Whether new participants should be subjected to access check or not. */
    628 #define INTNET_OPEN_FLAGS_PUBLIC    RT_BIT_32(1)
     609#define INTNET_OPEN_FLAGS_PUBLIC                                RT_BIT_32(1)
     610/** Ignore any requests for promiscuous mode. */
     611#define INTNET_OPEN_FLAGS_IGNORE_PROMISC                        RT_BIT_32(2)
     612/** Ignore any requests for promiscuous mode, quietly applied/ignored on open. */
     613#define INTNET_OPEN_FLAGS_QUIETLY_IGNORE_PROMISC                RT_BIT_32(3)
     614/** Ignore any requests for promiscuous mode on the trunk wire connection. */
     615#define INTNET_OPEN_FLAGS_IGNORE_PROMISC_TRUNK_WIRE             RT_BIT_32(4)
     616/** Ignore any requests for promiscuous mode on the trunk wire connection, quietly applied/ignored on open. */
     617#define INTNET_OPEN_FLAGS_QUIETLY_IGNORE_PROMISC_TRUNK_WIRE     RT_BIT_32(5)
     618/** Ignore any requests for promiscuous mode on the trunk host connection. */
     619#define INTNET_OPEN_FLAGS_IGNORE_PROMISC_TRUNK_HOST             RT_BIT_32(6)
     620/** Ignore any requests for promiscuous mode on the trunk host connection, quietly applied/ignored on open. */
     621#define INTNET_OPEN_FLAGS_QUIETLY_IGNORE_PROMISC_TRUNK_HOST     RT_BIT_32(7)
     622/** The mask of flags which causes security incompatibilities. */
     623#define INTNET_OPEN_FLAGS_SECURITY_XOR_MASK                     (RT_BIT_32(1) | RT_BIT_32(2) | RT_BIT_32(4) | RT_BIT_32(6))
     624/** The mask of flags is always ORed in, even on open. (the quiet stuff) */
     625#define INTNET_OPEN_FLAGS_SECURITY_OR_MASK                      (RT_BIT_32(3) | RT_BIT_32(5) | RT_BIT_32(7))
     626/** The mask of valid flags. */
     627#define INTNET_OPEN_FLAGS_MASK                                  UINT32_C(0x000000fe)
    629628/** @} */
    630629
     
    849848 * @param   pIntNet     The instance data.
    850849 * @param   hIF         The interface handle.
    851  * @param   pvFrame     Pointer to the frame.
    852  * @param   cbFrame     Size of the frame.
     850 * @param   pvFrame     Pointer to the frame. Optional, please don't use.
     851 * @param   cbFrame     Size of the frame. Optional, please don't use.
    853852 */
    854853INTNETR0DECL(int) INTNETR0IfSend(PINTNET pIntNet, INTNETIFHANDLE hIf, const void *pvFrame, unsigned cbFrame);
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