none
WEC7 - Bug in NDISUIO driver related to 802.1Q header processing RRS feed

  • Question

  • Dear All,

    I think I found a bug in NDISUIO.

    It does not correctly processes frames which have VLAN tags in them.

    According to NDISUIO code it tries to check whether frame type is NUIO_8021P_TAG_TYPE (0x0081).

    If frame type is as described above it attempts to retrieve a real frame type located after NUIO_8021P_TAG_TYPE tag

    Below code does the retrieval.

    Function: NdisuioReceiveNetBufferLists

    Line: EthType = *((PUCHAR)&pEthHeader->EthType + 4);

    The problem:

    Due to type conversion it only retrieves one byte of frame type instead of two.

    This lead to frame with correct EthType being discarded.

    Example:

    Profinet frame was sent to WEC7 using 802.1Q header, VLAN ID 0  and protocol type 0x8892 (Profinet).

    NDISUIO code detects this frame as 0x88, NOT 0x8892

    This frame will be discarded despite that client set correct ether type for filtering.

    Software which can be used for testing:

    https://profinetcommander.com/download

    License is not required; click 'Browse' then click 'DCP identify all'

    Commander will send a multicast frame described above.

    The fix:

    Replace

    EthType = *((PUCHAR)&pEthHeader->EthType + 4);

    with

    EthType = *(PUSHORT)((PUCHAR)&pEthHeader->EthType + 4);

    Now NDISUIO correctly handles 802.1Q frame types.

    Dear MS, please verify.

    Best regards,

    Alexey

    Thursday, October 19, 2017 2:40 PM

All replies

  • Alexy

    If you want Microsoft to verify, the best way is to open a support case.

    Do you have any updates applied? Which?


    Bruce Eitman
    Senior Engineer
    Bruce.Eitman AT Synopsys DOT com
    My BLOG http://geekswithblogs.net/bruceeitman
    I work for Synopsys

    Thursday, October 19, 2017 5:02 PM
    Moderator
  • Bruce,

    I am on Wave 3 update currently.

    Developer update suggests that there are no newer updates available.

    I tried to find how do I contact MS support to report this bug but found nothing useful.

    Can please someone suggest how to open support case for WEC7?

    Thanks,

    Alexey

    Friday, October 20, 2017 9:42 AM
  • Developer Guides (Compact 7)

    Then scroll down to -> "Support" on the left menu.


    Bruce Eitman
    Senior Engineer
    Bruce.Eitman AT Synopsys DOT com
    My BLOG http://geekswithblogs.net/bruceeitman
    I work for Synopsys

    Friday, October 20, 2017 1:06 PM
    Moderator
  • Bruce,

    I tried, honestly.

    Support options specified on Embedded Compact 7 page are all phone support for US and Canada.

    I am not in either of those countries.

    Tried contacting local MS support where I live.

    They offer no support on their site for WEC7.

    It look like the only thing they offered is to pay for incident investigation/support.

    Sorry to say but I am not going to pay to do so.

    Thanks,

    Alexey

    Tuesday, October 24, 2017 2:50 PM
  • Yes, it is pay for incident support.  But, if your bug is determined to be their bug, then no charge.

    Bruce Eitman
    Senior Engineer
    Bruce.Eitman AT Synopsys DOT com
    My BLOG http://geekswithblogs.net/bruceeitman
    I work for Synopsys

    Wednesday, October 25, 2017 11:05 AM
    Moderator