On 17 Oct 2007, at 21:20, Brian E Carpenter wrote:
Francois, Eric,
Is there a reason you allocate 2 bytes for SAFIs
in a BGP Capability Advertisement?
SAFIs are defined in RFC 4760 as one byte.
I think the SAFI field should really be one byte.
RFC4760 (section 8) pads the 1-byte SAFI with a 1-byte Reserved field when encoding AFI/SAFI for BGP Capability Advertisement (presumably for alignment/extensibility purposes):
"
0 7 15 23 31
+-------+-------+-------+-------+
| AFI | Res. | SAFI |
+-------+-------+-------+-------+
"
I would propose to apply a similar approach to v4nlri-v6nh, which would give us:
"
+-----------------------------------------------------+
| NLRI AFI - 1 (2 octets) |
+-----------------------------------------------------+
| Reserved (1 octet) | NLRI SAFI - 1 (1 octets) |
+-----------------------------------------------------+
| Nexthop AFI - 1 (2 octets) |
+-----------------------------------------------------+
| ..... |
+-----------------------------------------------------+
| NLRI AFI - N (2 octets) |
+-----------------------------------------------------+
| Reserved (1 octet) | NLRI SAFI - N (1 octet) |
+-----------------------------------------------------+
| Nexthop AFI - N (2 octets) |
+-----------------------------------------------------+
"
Please let us know if you have comments/concerns.
Thanks for catching this Brian.
Francois
If it's a conscious choice to allow for possible
expansion, it would be good to say so. In any case
you need to specify where the SAFI byte is aligned
in the two bytes.
Brian