Hi I tried to support 802.1p in my windows pv driver, but i failed to find any support about this in xen till now. NETTXF_csum_blank and NETTXF_extra_info can help to realize checksum and GSO offload. Are there any flags to realize 802.1p for frontend? Any suggestion is appreciated. Thanks Annie _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> Hi > > I tried to support 802.1p in my windows pv driver, but i failed to find > any support about this in xen till now. > NETTXF_csum_blank and NETTXF_extra_info can help to realize checksum and > GSO offload. Are there any flags to realize 802.1p for frontend? > > Any suggestion is appreciated. >How are you trying to support this? It should be as simple as telling Windows that it is supported and then maintaining different packet queues in your driver. I don't think that there is any state information that is shared between different adapters. What happens on the backend interface and beyond is pretty much beyond your control, but as long as they respect the priority tags it should be fine, and even if they don't at least you have transmitted the packets based on the priority so you've done your bit. James _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
James Harper wrote:> How are you trying to support this? It should be as simple as telling Windows that it is supported and then maintaining different packet queues in your driver. I don''t think that there is any state information that is shared between different adapters. > > What happens on the backend interface and beyond is pretty much beyond your control, but as long as they respect the priority tags it should be fine, and even if they don''t at least you have transmitted the packets based on the priority so you''ve done your bit.It is a requirement for NDIS6.0 driver when testing NDISTest 6.0(priority). Only a warning reported for NDIS5.1 driver. The server side will send packets with Non-Zero priority, and client side will check whether the packets received is with correct priority or not. So if keep a different queue in miniport dirver, miniport can not put the priority tag in the frame, and receive side still fails to receive the correct priority tag packets. Following information is i googled: The specific NDIS structure is NDIS_NET_BUFFER_LIST_8021Q_INFO <http://msdn2.microsoft.com/en-us/library/bb245890.aspx>, which contains member variables for both VlanID and UserPriority, and is passed to the NDIS miniport driver for implementing both priority tagging (UserPriority) and VLAN (VlanId). It is up to the NDIS miniport driver to actually insert the 802.1Q tag into the frame based on these values before transmitting on the wire. A miniport driver will only insert this tag if the feature is supported and enabled in the advanced properties of the NIC driver; The miniport drivers must strip the tag when received, and populate the NDIS_NET_BUFFER_LIST_8021Q_INFO UserPriority and VlanId fields with the values in the tag. Details is in http://social.msdn.microsoft.com/forums/en-US/networkqosqwave/thread/a774a51c-6c6b-4374-a190-48153b5a74f7/ Any suggestions? Thanks Annie. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> > How are you trying to support this? It should be as simple as telling > Windows that it is supported and then maintaining different packet queues in > your driver. I don't think that there is any state information that is shared > between different adapters. > > What happens on the backend interface and beyond is pretty much beyond > your control, but as long as they respect the priority tags it should be fine, > and even if they don't at least you have transmitted the packets based on the > priority so you've done your bit. > > It is a requirement for NDIS6.0 driver when testing NDISTest 6.0(priority). > Only a warning reported for NDIS5.1 driver. > > The server side will send packets with Non-Zero priority, and client side will > check whether the packets received is with correct priority or not. So if keep > a different queue in miniport dirver, miniport can not put the priority tag in > the frame, and receive side still fails to receive the correct priority tag > packets. > > Following information is i googled: > > The specific NDIS structure is NDIS_NET_BUFFER_LIST_8021Q_INFO > <http://msdn2.microsoft.com/en-us/library/bb245890.aspx> , which contains > member variables for both VlanID and UserPriority, and is passed to the NDIS > miniport driver for implementing both priority tagging (UserPriority) and VLAN > (VlanId). It is up to the NDIS miniport driver to actually insert the 802.1Q > tag into the frame based on these values before transmitting on the wire. A > miniport driver will only insert this tag if the feature is supported and > enabled in the advanced properties of the NIC driver; > > The miniport drivers must strip the tag when received, and populate the > NDIS_NET_BUFFER_LIST_8021Q_INFO UserPriority and VlanId fields with the values > in the tag. > > Details is in http://social.msdn.microsoft.com/forums/en- > US/networkqosqwave/thread/a774a51c-6c6b-4374-a190-48153b5a74f7/ > > Any suggestions? >Just what it says. 802.1P just assigns a vague meaning to the priority field bits, it doesn't say what you should do with them in terms if 'sticking them' in the packet. 802.1Q (vlan trunking) includes 3 bits to stick the priority field into. http://en.wikipedia.org/wiki/802.1q is a good high level overview of what is required. James _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
James Harper wrote:> > Just what it says. 802.1P just assigns a vague meaning to the priority field bits, it doesn''t say what you should do with them in terms if ''sticking them'' in the packet. 802.1Q (vlan trunking) includes 3 bits to stick the priority field into. > > http://en.wikipedia.org/wiki/802.1q is a good high level overview of what is required.Thanks. I see. NDIS_NET_BUFFER_LIST_8021Q_INFO contains info about 802.1Q, i need to insert 802.1Q tag in the frame before transmitting it to the backend, then strips the tag after receiving those packets. I will add those process and have a test. Thanks Annie. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
ANNIE LI wrote:> > James Harper wrote: >> >> Just what it says. 802.1P just assigns a vague meaning to the priority field bits, it doesn''t say what you should do with them in terms if ''sticking them'' in the packet. 802.1Q (vlan trunking) includes 3 bits to stick the priority field into. >> >> http://en.wikipedia.org/wiki/802.1q is a good high level overview of what is required. > Thanks. I see. > NDIS_NET_BUFFER_LIST_8021Q_INFO contains info about 802.1Q, i need to > insert 802.1Q tag in the frame before transmitting it to the backend, > then strips the tag after receiving those packets. I will add those > process and have a test.It works. This test case passed after i added process above. Thanks Annie. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel