Hi Xiao Min,
thank you for your consideration of my comments. I have added follow-up
notes under the GIM2>> tag below.

Regards,
Greg

On Tue, May 9, 2023 at 8:54 PM <xiao.m...@zte.com.cn> wrote:

> Hi Greg,
>
>
> Please see inline...
> Original
> *From: *GregMirsky <gregimir...@gmail.com>
> *To: *肖敏10093570;
> *Cc: *rtg-bfd@ietf.org <rtg-bfd@ietf.org>;
> *Date: *2023年05月10日 00:02
> *Subject: **Re: Fw: New Version Notification for
> draft-ietf-bfd-unaffiliated-echo-07.txt*
> Hi Xiao Min,
> thank you for your expedient response. Please find my follow-up notes
> below tagged GIM>>.
>
> Regards,
> Greg
>
> On Thu, May 4, 2023 at 12:28 AM <xiao.m...@zte.com.cn> wrote:
>
>> Hi Greg,
>>
>>
>> Thank you for the detailed review and comments, although I don't think
>> your comments justify your conclusion.
>>
>> Please see inline...
>> Original
>> *From: *GregMirsky <gregimir...@gmail.com>
>> *To: *肖敏10093570;
>> *Cc: *rtg-bfd@ietf.org <rtg-bfd@ietf.org>;
>> *Date: *2023年04月29日 03:42
>> *Subject: **Re: Fw: New Version Notification for
>> draft-ietf-bfd-unaffiliated-echo-07.txt*
>> Hi Xiao Min,
>> thank you for sharing updates. I've read the new version and have several
>> questions and comments.
>>
>>    -
>>
>>    It is stated in the Abstract:
>>
>>    BFD Async procedures can be executed over the BFD
>>
>>    Echo port where the neighboring system only loops packets back to the
>>
>>    local system.
>>
>> Is this conclusion differs from the definition of the BFD Echo function
>> in RFC 5880? If it is not, what is the value of such a re-statement? If it
>> is, it seems like an explicit attribution of this conclusion to this
>> document would be helpful.
>> [XM]>>> RFC 5880 doesn't say BFD Async procedures can be executed over
>> the BFD Echo port because it classifies BFD Echo as an affiliated function.
>> Would you please suggest some text you think helpful?
>>
>> GIM>> I am a bit confused by the "BFD Async procedures" term. In your
> opinion, what are these procedures defined in RFC 5880? BFD state machine?
> BFD state changes? I believe it would help me if you could give an example,
> and add more details to the interpretation of that term.
>
> [XM-2]>>> The "BFD Async procedures" term was introduced by Jeff in his
> comments on -05 version of this draft [1]. My understanding to the term is
> that the BFD Control packet and the procedure on demultiplexing it, as well
> as the BFD state machine and the procedure on changing the state are mostly
> reused.
>
> [1]
> https://mailarchive.ietf.org/arch/msg/rtg-bfd/JN4DpQjiudBGUJn8beapEwuhlH0/
>
GIM2>> I imagine that we expect a reader of this document to be familiar
with RFCs 5880 and 5881. AFAIK, neither of these RFCs uses the term "BFD
Async procedures". If that is correct, then any new term must be explained
or defined in this document. Would you agree?

>
>>
>>    -
>>
>>    Is the following a requirement or an observation:
>>
>>    a network device must be able to quickly detect
>>
>>    faults in communication with adjacent devices.
>>
>> If the former, please capitalize the normative language. If the latter,
>> then it appears as an arguable view. Indeed, in some cases, local
>> protection is a viable option, while in other environments, e2e path
>> protection might be preferable.
>> [XM]>>> At the beginning of the sentence "in some cases" can be added, is
>> that acceptable to you?
>>
>> GIM>> I think that the capability to faster detection of a network
> failure is always desirable. Thus, the statement can be presented as a
> general node requirement. On the other hand, it can be worded as an
> observation. Using normative keywords in a lowercase form might confuse
> readers.
>
> [XM-2]>>> I'd like to try again. Please see the proposed changes as below.
>
> OLD
>
>    To minimize the impact of device/link faults on services and improve
>    network availability, a network device must be able to quickly detect
>    faults in communication with adjacent devices.
>
> NEW
>
>    To minimize the impact of device/link faults on services and improve
>    network availability, in some cases a network device needs to be able to 
> quickly detect
>    faults in communication with adjacent devices.
>
> GIM2>> In your opinion, how important to the document and this text is it
to say "in some cases"? Personally, I think that the ability to quickly
detect a network failure is a generic requirement, essential in all
scenarios.

>
>>
>>    -
>>
>>    Further, in Introduction, I read:
>>
>>    Section 5 of
>>    [RFC5880] indicates that the payload of a BFD Echo packet is a local
>>    matter and hence its contents are outside the scope of that
>>    specification.  This document, on the other hand, specifies the
>>    contents of the Echo packets and what to do with them.
>>
>> It seems to me that this draft is positioned as the definition of the
>> content of an Echo message and the processing of it, whether as an
>> unaffiliated or affiliated (RTC5880-style) function. Is that correct?
>> [XM]>>> That's incorrect. This document specifies only Unaffiliated BFD
>> Echo, and  it doesn't touch affiliated BFD Echo.
>>
>> GIM>> Thank you for the clarification. I feel that the current text and
> its location are unclear. Reiterating the scope of the proposed solution
> will certainly make it clearer.
>
> [XM-2]>>> OK. Please see the proposed changes as below.
>
> OLD
>
>    Section 5 of [RFC5880] indicates that the payload of a BFD Echo packet is 
> a local
>    matter and hence its contents are outside the scope of that
>    specification.  This document, on the other hand, specifies the
>    contents of the Echo packets and what to do with them.
>
> NEW
>
>    Section 5 of [RFC5880] indicates that the payload of an affiliated BFD 
> Echo packet is a local
>    matter and hence its contents are outside the scope of that
>    specification.  This document, on the other hand, specifies the
>    contents of the Unaffiliated BFD Echo packets and what to do with them.
>
> GIM2>> I cannot find in RFC 5880 any reference to the affiliated BFD Echo
function. As I noted above, all new terms used in a document must be
explained and/or defined in it. I think that applies to the "affiliated BFD
Echo" term too.

>
>>
>>    -
>>
>>    I hope you can help me understand the demultiplexing of Unaffiliated
>>    BFD sessions:
>>
>>    Device A performs its
>>    initial demultiplexing of a Unaffiliated BFD Echo session using the
>>    source IP address or UDP source port, once the remote system echoes
>>    back the local discriminator, all further received packets are
>>    demultiplexed based on the "Your Discriminator" field only, which is
>>    conformed to the procedure specified in Section 6.3 of [RFC5880].
>>
>>
>>    -
>>
>>    Does "initial demultiplexing" refers to the first BFD Control message
>>    transmitted in the Unaffiliated BFD Echo mode?
>>
>>    [XM]>>> Not exactly. Actually "initial demultiplexing" is applied to
>>    the received BFD Control packet(s) whose "Your Discriminator" is zero.
>>
>> GIM>> Perhaps that can be added to the document as "In the case when the
> value of Your Discriminator in the received packet is zero, demultiplexing
> is done based on ..."?
>
> [XM-2]>>> OK. Please see the proposed changes as below.
>
> OLD
>
>    Device A performs its initial demultiplexing of a Unaffiliated BFD Echo 
> session using the
>    source IP address or UDP source port, once the remote system echoes
>    back the local discriminator...
>
> NEW
>
>    Device A performs its initial demultiplexing of a Unaffiliated BFD Echo 
> session using the
>    source IP address or UDP source port, that is to say, in the case when 
> "Your Discriminator"
>    in the received packet is zero, demultiplexing is done based on the source 
> IP address or
>    UDP source port, once the remote system echoes back the local 
> discriminator...
>
> GIM2>> I am not sure what "initial" means in the description of the
processing. Do you think it can be expressed as follows:
  Unaffiliated BFD Echo packets with zeroed "Your Discriminator"
  are demultiplexed based on the source IP address or
   UDP source port ...

>
>>    -
>>
>>    Considering that "device B would not intercept any received
>>    Unaffiliated BFD Echo packet", how "the remote system echoes back the 
>> local
>>    discriminator"?
>>
>>    [XM]>>> Here "echoes back" means "loops back", is "loops back" more
>>    clear?
>>
>> GIM>> I think it is better, thank you.
>
> [XM-2]>>> OK. Will do s/echoes back/loops back.
>
GIM2>> Thanks

>
>>    -
>>
>>
>>
>>
>>    -
>>
>>    A lengthy copy of a text from Section 4 of RFC 5881 seems like
>>    unnecessary:
>>
>>    the destination address MUST be chosen in such a way as to
>>    cause the remote system to forward the packet back to the local
>>    system.  The source address MUST be chosen in such a way as to
>>    preclude the remote system from generating ICMP or Neighbor Discovery
>>    Redirect messages.  In particular, the source address SHOULD NOT be
>>    part of the subnet bound to the interface over which the BFD Echo
>>    packet is being transmitted, and it SHOULD NOT be an IPv6 link-local
>>    address, unless it is known by other means that the remote system
>>    will not send Redirects.
>>
>> It seems that a reference to that section and something like "rules
>> stated in Section 4 [RFC5881] are applicable to the encapsulation of an
>> Unaffiliated BFD Echo Control message" could be sufficient.
>> [XM]>>> I'd like to follow your suggestion if there is no objection from
>> Jeff.
>>
>> GIM>> Of course.
>
> [XM-2]>>> Thank you for your understanding.
>
>>
>>
>>    -
>>
>>    What is the interpretation of "expected value"? It appears that none
>>    of these values are used, but are ignored. Right?
>>
>>    [XM]>>> As indicated by Jeff, "the desire is that we avoid unset
>>    values being a potential vector for disclosure of uninitialized memory".
>>
>> GIM>> I agree with that. I think it would be helpful to use this
> reasoning in the text, including the Security Consideration section.
>
> [XM-2]>>> Will add the reasoning in the text if there is no objection from
> Jeff.
>
>>
>>    -
>>
>>    A zero value of the Required Min Echo RX Interval field per RFC 5880
>>    is interpreted as no support for the Echo function. But it is the
>>    recommended value. Although it is ignored. Thus, what is the benefit of
>>    initializing the field after all?
>>
>>    [XM]>>> As indicated by Jeff, "the desire is that we avoid unset
>>    values being a potential vector for disclosure of uninitialized memory".
>>    -
>>
>>    In the description
>>
>>    Afterwards, the
>>    provisioned transmission interval is used.
>>
>> What is the event that triggers the "afterward" transition?
>> [XM]>>> The preceding text says "
>>
>> The slow transmission rate SHOULD be no less then    one second per packet, 
>> until the session is Up.
>>
>> ".
>>
>> GIM>> Perhaps my question was unclear. I understand that the Sender
> starts the session at a slow rate. Then, after some event, the Sender
> switches to "the provisioned transmission interval". Hence my question What
> is that event that is described as "afterward"?
>
> [XM-2]>>> The event is that "the session is Up". To me, the text is clear
> enough, please suggest some text if that's still not clear to you.
>
GIM2>> This document proposes extensive updates to RFC 5880, including the
BFD state machine. I feel that it is on the authors to clarify how the
updated state machine operates, and what causes states to change.

>
>>    -
>>
>>    With the high number of "this value MUST be ignored on receipt", "the
>>    Unaffiliated BFD Echo packet reuses the format of the BFD Control packet
>>    defined in [RFC5880]" seems like a severe overstatement.
>>
>>    [XM]>>> I don't think so. Ignoring some fields on receipt doesn't
>>    break the truth that BFD Control packet is reused here.
>>    -
>>
>>    Which event triggers the transition in
>>
>>    *  Your Discriminator MUST be set to 0 initially, and then MUST be
>>       set to the same as My Discriminator echoed back.
>> [XM]>>> The event is that "My Discriminator" is echoed/looped back.
>>
>> GIM>> To me, that is not clear from the current text. I think that adding
> more detail would help.
>
> [XM-2]>>> OK. Please see the proposed changes as below.
>
> OLD
>
>    *  Your Discriminator MUST be set to 0 initially, and then MUST be
>       set to the same as My Discriminator echoed back.
>
> NEW
>
>    *  Your Discriminator MUST be set to 0 initially, and then MUST be
>       set to the same as My Discriminator looped back. In other words,
>    Your Discriminator MUST be changed from 0 to the received My Discriminator
>    once initial demultiplexing of the received packet is done.
>
> GIM2>> Does "initial demultiplexing"  replace BFD Control packet
validation as defined in RFC 5880 and RFC 5881? As discussed above,
demultiplexing only matches the source IP address or source UDP port number
in the received packet. Is that  sufficient to validate it?

>
>>    -
>>
>>    What happens if Desired Min TX Interval, Required Min RX Interval,
>>    or Required Min Echo is not set to "the expected value"?
>>
>>    [XM]>>> Unset values can be a potential vector for disclosure of
>>    uninitialized memory.
>>
>> GIM>> I find myself confused. As I understand it, "expected value" is
> something that is known to the system either through configuration or a
> pre-set (hardcoded) value. And that value, supposedly,  in validating the
> received packet, hence the "expected value" clause. But if the value must
> be ignored, then there's no expectation of it in the system. Right? I agree
> with the reasoning for initializing memory before transmitting a packet,
> but that is far from setting it to an "expected value", in my opinion. WDYT?
>
> [XM-2]>>> Here "an expected value" means "a certain value", is "a certain
> value" more clear?
>
GIM2>> Unless it is used to validate the received packet. If it is not,
then perhaps a requirement to re-initialize the memory block can do the
job. WDYT?

>
> Best Regards,
>
> Xiao Min
>
>>
>> Best Regards,
>>
>> Xiao Min
>>
>>
>> In conclusion. As we learned from the BBF Liason, the Broadband Forum is
>> not seeking standardization of the mechanism described in TR-146. Also, I
>> learned about the implementation of the mechanism described in
>> BBF's TR-146, and the authors are not interested in standardization either,
>> as, in their opinion, there's no externally noticeable behavior that
>> requires specification. So, I still don't see any value in standardizing
>> what is described in the document.
>>
>> Regards,
>> Greg
>>
>> On Sun, Apr 23, 2023 at 7:16 PM <xiao.m...@zte.com.cn> wrote:
>>
>>> Dear BFD WG,
>>>
>>>
>>> A -07 revision of draft-ietf-bfd-unaffiliated-echo has been posted,
>>> attempting to address all the WGLC comments.
>>>
>>> The main updates are as below.
>>>
>>> * add a sentence to clarify that this document doesn't change the
>>> affiliated BFD Echo function.
>>>
>>> * change the order of section 2 "Updates to RFC 5880" and section 3
>>> "Unaffiliated BFD Echo Procedures".
>>>
>>> * add a summary on the Unaffiliated BFD Echo packet fields setting into
>>> the end of section "Unaffiliated BFD Echo Procedures".
>>>
>>> * change the text on IP address setting to the same as specified in
>>> section 4 of RFC 5881.
>>>
>>> * some editorial changes, e.g., s/BFD Unaffiliated Echo
>>> packet/Unaffiliated BFD Echo packet/g.
>>>
>>>
>>> Best Regards,
>>>
>>> Xiao Min
>>> Original
>>> *From: *internet-dra...@ietf.org <internet-dra...@ietf.org>
>>> *To: *Raj Boddireddy <rche...@juniper.net>;Raj Chetan Boddireddy <
>>> rche...@juniper.net>;Reshad Rahman <res...@yahoo.com>;Ruixue Wang <
>>> wangrui...@chinamobile.com>;Weiqiang Cheng <
>>> chengweiqi...@chinamobile.com>;肖敏10093570;
>>> *Date: *2023年04月24日 10:09
>>> *Subject: **New Version Notification for
>>> draft-ietf-bfd-unaffiliated-echo-07.txt*
>>>
>>> A new version of I-D, draft-ietf-bfd-unaffiliated-echo-07.txt
>>> has been successfully submitted by Xiao Min and posted to the
>>> IETF repository.
>>>
>>> Name:        draft-ietf-bfd-unaffiliated-echo
>>> Revision:    07
>>> Title:        Unaffiliated BFD Echo
>>> Document date:    2023-04-23
>>> Group:        bfd
>>> Pages:        12
>>> URL:
>>> https://www.ietf.org/archive/id/draft-ietf-bfd-unaffiliated-echo-07.txt
>>> Status:
>>> https://datatracker.ietf.org/doc/draft-ietf-bfd-unaffiliated-echo/
>>> Htmlized:
>>> https://datatracker.ietf.org/doc/html/draft-ietf-bfd-unaffiliated-echo
>>> Diff:
>>> https://author-tools.ietf.org/iddiff?url2=draft-ietf-bfd-unaffiliated-echo-07
>>>
>>> Abstract:
>>>    Bidirectional Forwarding Detection (BFD) is a fault detection
>>>    protocol that can quickly determine a communication failure between
>>>    two forwarding engines.  This document proposes a use of the BFD Echo
>>>    where the local system supports BFD but the neighboring system does
>>>    not support BFD.  BFD Async procedures can be executed over the BFD
>>>    Echo port where the neighboring system only loops packets back to the
>>>    local system.
>>>
>>>    This document updates RFC 5880.
>>>
>>>
>>>
>>>
>>>
>>> The IETF Secretariat
>>>
>>>
>>>
>>>
>>
>

Reply via email to