OID_GEN_CURRENT_PACKET_FILTER (Windows CE 5.0)
This object specifies the types of net packets for which a protocol receives indications from a NIC driver.
The NIC driver reports its medium type as one for which the system provides a filter library. The following table shows the types that the packet filter combines using an inclusive OR operation.
|NDIS_PACKET_TYPE_ALL_FUNCTIONAL||All functional address packets, not just the ones in the current functional address.|
|NDIS_PACKET_TYPE_ALL_MULTICAST||All multicast address packets, not just the ones enumerated in the multicast address list.|
|NDIS_PACKET_TYPE_ALL_LOCAL||All packets sent by installed protocols and all packets indicated by the NIC that is identified by a given NdisBindingHandle.|
|NDIS_PACKET_TYPE_DIRECTED||Directed packets. Directed packets contain a destination address equal to the station address of the NIC.|
|NDIS_PACKET_TYPE_FUNCTIONAL||Functional address packets sent to addresses included in the current functional address.|
|NDIS_PACKET_TYPE_GROUP||Packets sent to the current group address.|
|NDIS_PACKET_TYPE_MAC_FRAME||NIC driver frames that a Token Ring NIC receives.|
|NDIS_PACKET_TYPE_SMT||SMT packets that an FDDI NIC receives.|
|NDIS_PACKET_TYPE_MULTICAST||Multicast address packets sent to addresses in the multicast address list.
A protocol driver can receive Ethernet (802.3) multicast packets or Token Ring (802.5) functional address packets by specifying the multicast or functional address packet type. Setting the multicast address list or functional address determines which multicast address groups the NIC driver enables.
|NDIS_PACKET_TYPE_PROMISCUOUS||Specifies all packets.|
|NDIS_PACKET_TYPE_SOURCE_ROUTING||All source routing packets. If the protocol driver sets this bit, the NDIS library attempts to act as a source routing bridge.|
During a call to NdisOpenAdapter, NDIS disables packet reception, along with multicast and functional addresses.
For a query, NDIS returns the binding filters that are combined using the OR operator.
For a set, the specified packet filter replaces the previous packet filter for the binding. If the NIC driver previously enabled a packet type but the protocol driver does not specify that type in a new filter, the protocol driver will not receive packets of this type.
If the NIC driver does not set a bit for a particular packet type in response to this query, the protocol driver will not receive packets of that type. Consequently, a protocol driver can disable packet reception by calling the NdisRequest function using a filter of 0. In these circumstances, if promiscuous mode is enabled with the NDIS_PACKET_TYPE_PROMISCUOUS bit, the protocol driver continues to receive packets even if the sending network node does not direct them to it. NDIS then sends the protocol driver all packets the NIC receives.
Setting a specific packet filter does not alter the packet filter for other protocols that are bound to (or above) the same NIC. For example, if one bound protocol enables promiscuous mode, other bound protocols do not receive packets that they have not specifically requested with their own packet filters.
OS Versions: Windows CE .NET 4.0 and later.
Send Feedback on this topic to the authors