locked
[MS-PNRP] - 3.1.4.4.2 Resolving a PNRP ID RRS feed

  • Question

  • The doc says:

    7. If the resolve entry's CurrentBestMatch is not empty and the PNRP ID of the most recently pushed entry in BestMatchStack is sufficiently close (per the ResolveCriteria), match to the Target PNRP ID, then:

    ... else goto 8.

    8. Attempt to pop a route entry off NextHopStack and store this route entry in the resolve entry's CurrentNextHop. If CurrentNextHop is empty, SuspiciousCount is greater than 6, or TotalUsefulHops is greater than 22, the Resolver MUST do the following:
    If the resolve entry's CurrentBestMatch is not empty, check to see whether it meets the minimal match conditions as specified in the ResolveCriteria. (...)

    As CurrentBestMatch is not changed between step 7 and 8, I fail to understand why it should be required to perform checking for a match in step 8.

    We checked for CurrentBestMatch matching the ResolveCriteria in step 7, do not change CurrentBestMatch, and check for it matching the ResolveCriteria in step 8 again?

    Why, what is the purpose, in case the check failed in step 7, it will fail in step 8, in case the check succeeded in step 7 - we'll discard the check for it in step 8.

    So basically the check in step 8 should be unreachable.

    Thanks for your assistance.

    Saturday, December 8, 2012 2:15 PM

Answers

  • Oh, well ... while the proposed change to the doc is neglect-able, your final sentence answered my question:

    step 7 compares tip/head of BestMatchStack (which is not CurrentBestMatch and does not match CurrentBestMatch), step 8 compares CurrentBestMatch.

    Exactly what the doc already says.

    Sorry, my fault Misread it. Multiple times.

    I guess I got convinced 7 and 8 compare with CurrentBestMatch by the last sentence of 7.

    Otherwise (for example, if the resolve entry's CurrentBestMatch is empty or not sufficiently close to the Target PNRP ID), continue processing as follows.

    I'd propose to change this to:

    Otherwise (for example, if the resolve entry's CurrentBestMatch is empty or the most recently pushed entry in BestMatchStack is not sufficiently close to the Target PNRP ID per the ResolveCriteria), continue processing as follows.

    Thanks.

    • Marked as answer by msosilover Thursday, December 20, 2012 5:17 AM
    Thursday, December 20, 2012 5:16 AM

All replies

  • Hi Msosilover:

    I have alerted the Open Specifications Team regarding your inquiry. A member of the team will be in touch soon.


    Regards, Obaid Farooqi

    Saturday, December 8, 2012 11:08 PM
  • Hi Msosilover

    Thanks for contacting Microsoft Support. I have taken ownership of this inquiry and researching this for you.

    Regards.


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    Sunday, December 9, 2012 4:48 PM
  • Hi Msosilover

    We have modified step 8 from :

    If the resolve entry's CurrentBestMatch is not empty, check to see whether it meets the minimal match conditions as specified in the ResolveCriteria

    To

                    If the resolve entry's CurrentBestMatch is not empty, check to see whether CurrentBestMatch is sufficiently close (per the ResolveCriteria) to the Target PNRP ID

                   

    With this change, we are now comparing BestMatchStack with Target PNRP ID in step 7 and  CurrentBestMatch with Target PNRP ID in step 8 which will remove duplicity and make step8 reachable.

    Please let me know if this resolves your query.

    Regards


    Tarun Chopra | Escalation Engineer | Open Specifications Support Team

    Tuesday, December 18, 2012 10:47 PM
  • Oh, well ... while the proposed change to the doc is neglect-able, your final sentence answered my question:

    step 7 compares tip/head of BestMatchStack (which is not CurrentBestMatch and does not match CurrentBestMatch), step 8 compares CurrentBestMatch.

    Exactly what the doc already says.

    Sorry, my fault Misread it. Multiple times.

    I guess I got convinced 7 and 8 compare with CurrentBestMatch by the last sentence of 7.

    Otherwise (for example, if the resolve entry's CurrentBestMatch is empty or not sufficiently close to the Target PNRP ID), continue processing as follows.

    I'd propose to change this to:

    Otherwise (for example, if the resolve entry's CurrentBestMatch is empty or the most recently pushed entry in BestMatchStack is not sufficiently close to the Target PNRP ID per the ResolveCriteria), continue processing as follows.

    Thanks.

    • Marked as answer by msosilover Thursday, December 20, 2012 5:17 AM
    Thursday, December 20, 2012 5:16 AM