Subject: [xml2rfc] help with xml

From: Loa Andersson <[email-masked]>
Date: Sun, 27 Dec 2015 18:19:31 +0800

Hi,

Can someone tell me how to do this in xml?

Except from RFC 5036, which we wrote in nroff, and it was piece of a
cake:

2.5.2.  Transport Connection Establishment

    The exchange of Hellos results in the creation of a Hello adjacency
    at LSR1 that serves to bind the link (L) and the label spaces LSR1:a
    and LSR2:b.

       1. If LSR1 does not already have an LDP session for the exchange
          of label spaces LSR1:a and LSR2:b, it attempts to open a TCP
          connection for a new LDP session with LSR2.

          LSR1 determines the transport addresses to be used at its end
          (A1) and LSR2's end (A2) of the LDP TCP connection.  Address A1
          is determined as follows:

          a. If LSR1 uses the Transport Address optional object (TLV) in
             Hellos it sends to LSR2 to advertise an address, A1 is the
             address LSR1 advertises via the optional object;

          b. If LSR1 does not use the Transport Address optional object,
             A1 is the source address used in Hellos it sends to LSR2.

          Similarly, address A2 is determined as follows:

          a. If LSR2 uses the Transport Address optional object, A2 is
             the address LSR2 advertises via the optional object;

          b. If LSR2 does not use the Transport Address optional object,
             A2 is the source address in Hellos received from LSR2.

       2. LSR1 determines whether it will play the active or passive role
          in session establishment by comparing addresses A1 and A2 as
          unsigned integers.  If A1 > A2, LSR1 plays the active role;
          otherwise, it is passive.

          The procedure for comparing A1 and A2 as unsigned integers is:

          -  If A1 and A2 are not in the same address family, they are
             incomparable, and no session can be established.

          -  Let U1 be the abstract unsigned integer obtained by treating
             A1 as a sequence of bytes, where the byte that appears
             earliest in the message is the most significant byte of the
             integer and the byte that appears latest in the message is
             the least significant byte of the integer.

             Let U2 be the abstract unsigned integer obtained from A2 in
             a similar manner.

          -  Compare U1 with U2.  If U1 > U2, then A1 > A2; if U1 < U2,
             then A1 < A2.

       3. If LSR1 is active, it attempts to establish the LDP TCP
          connection by connecting to the well-known LDP port at address
          A2.  If LSR1 is passive, it waits for LSR2 to establish the LDP
          TCP connection to its well-known LDP port.

/Loa

-- 

Loa Andersson                        email: [email-masked]
Senior MPLS Expert                          [email-masked]
Huawei Technologies (consultant)     phone: +46 739 81 21 64

---

From: Julian Reschke <[email-masked]>
Date: Sun, 27 Dec 2015 14:16:27 +0100

On 2015-12-27 11:19, Loa Andersson wrote:
> ...

In the current vocabulary, this requires a bit of hacking around the 
content model of lists. Try this:

>       <t>
>       </t>
>       <t>
>         <list style="numbers">
>           <t>
>              If LSR1 does not already have an LDP session for the exchange
>              <vspace blankLines="1"/>
>              <list style="letters">
>               <t>
>                 If LSR1 uses the Transport Address optional object (TLV) in
>               </t>
>               <t>
>                 If LSR1 does not use the Transport Address optional object,
>               </t>
>              </list>
>              <list style="letters">
>               <t>
>                 If LSR2 uses the Transport Address optional object, A2 is
>               </t>
>               <t>
>                 If LSR2 does not use the Transport Address optional object,
>               </t>
>           </list>
>         </t>
>         <t>
>            LSR1 determines whether it will play the active or passive role
>            <vspace blankLines="1"/>
>            <list style="symbols">
>             <t>
>               If A1 and A2 are not in the same address family, they are
>             </t>
>             <t>
>               Let U1 be the abstract unsigned integer obtained by treating
>             </t>
>             <t>
>             </t>
>             <t>
>               Compare U1 with U2.  If U1 > U2, then A1 > A2; if U1 &lt; U2,
>               then A1 &lt; A2.
>             </t>
>            </list>
>         </t>
>           <t>
>              If LSR1 is active, it attempts to establish the LDP TCP
>           </t>
>         </list>
>       </t>
>     </section>

Best regards, Julian

---

From: Loa Andersson <[email-masked]>
Date: Sun, 27 Dec 2015 22:13:06 +0800

Julian,

Thanks, there were quite a bit of useful info in there. I works nicely,
but not exactly.

<list style="letters"> gives me a list with A, B, C, I changed to
<list style="format %c"> that give me a, b, c

<list style="symbols"> gives me a list with "*", I changed to
<list style="format -  ">, that gives me a list with "-" but also
a warning; but at least the text looks right.

It lso took me a few trial and errors before I understood that the
";" were part of the code (changed in another place) for < ( &lt; ).
I guess that "lt" stands for "lesser than" or "lower than@, right?

/Loa