Hello All,
I was trying SW Vlan implementation today. There is a problem i am facing.
There are some issues with respect to
protocol type field in the ethernet packet.
following are the obervations:
1. When the client receives a packet from the server, the Vlan id is
stripped by hardware.
The ProtocolType = 0x8000 instead of 0x8100 (VLAN tagged packet type).
The MNP first checks the protocol type in vlan is configured. Since it
does not match Vlan
tagged packet type, it drops the frames.
if (ProtocolType != ETHER_TYPE_VLAN) {
//
// Not a VLAN tagged frame
//
return FALSE;
}
This code snippet is present in MnpRemoveVlanTag function.
2. Modified the packet type to 0x8100, the MNP successfully finds the vlan
tag. There is a
default config data for each configured mnp instance. This config is
driven by IP. This config
data has protocol type = 0x8000. Since we have modified the protocol
type to 0x8100, the enqueueing
of the packet to IP layer fails.
In MnpMatchPacket fucntion, the code snippet copied below is dropping
frames, since
ConfigData->ProtocolTypeFilter = 0x8000 and . RxData->ProtocolType =
0x8100.
if ((ConfigData->ProtocolTypeFilter != 0) &&
(ConfigData->ProtocolTypeFilter != RxData->ProtocolType)) {
return FALSE;
}
Please let me know if my understanding is correct. all sugessions are
appreciated.
Thanks,
Sajeesh.
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel