Subject: [nvo3] Comments on draft-bl-nvo3-dataplane-requirements-02

From: "Larry Kreeger (kreeger)" <[email-masked]>
Date: Tue, 30 Oct 2012 00:55:15 +0000

Hello draft-bl-nvo3-dataplane-requirements authors,

I was reviewing this latest 02 draft fully with a special focus on all the
"MUST" statements and have the following comments:

1) In Section 3.2.1 it says:
"An L2 VNI MUST provide an emulated Ethernet multipoint service as if
Tenant Systems are interconnected by an 802.1Q LAN over a set of NVO3
tunnels."

Does this mean that the inner Ethernet frame must carry an 802.1Q tag?
Maybe it can be reworded to make it clearer by explicitly saying something
about VLAN tags.

2) In Section 3.2.1 it says:
"Loop avoidance capability MUST be provided."

What does loop avoidance mean in the data plane? Is split horizon
forwarding enough? Is this implying that a TTL is needed in the
encapsulation header (inside the outer IP header)?

3) In Section 3.2.1 it says:
"As frames arrive from VAPs or from overlay tunnels, the MAC learning
procedures described in IEEE 802.1Q are used:..."

Is there a more specific reference to a part of 802.1Q that describes
inner source MAC address to outer source address learning? It may confuse
readers because this draft refers to inner MAC to outer L3 address.  Is
the reference to 802.1Q required?

4) In Section 3.2.1 it says:
"Broadcast, Unknown Unicast and Multicast (BUM) traffic handling MUST be
supported."

It may be desirable for an operator to have the ability to disable unknown
unicast (if there is a control plane to distribute MAC to L3 tunnel
mappings), and also to disable multicast if it is a service that they do
not want to support.
Are you saying that an implementation must always forward unknown unicast
and multicast, or that it must be "capable" of forwarding them if desired?

5) In Section 3.2.1 it says:
"To achieve this, the NVE MUST support ingress replication and MAY support
multicast over an overlay multicast tree."

I don't see why ingress replication is a MUST if the underlay can support
multicast.  I think this should be reworded to be "To achieve this, the
NVE MUST either support ingress replication or MUST support multicast
across the underlay network if the underlay supports it."

6) In Section 3.3.2 it says:
"From an encapsulation perspective the IPv4 and IPv6 encapsulations MUST
be supported, MPLS tunneling MAY be supported."

Requiring support for BOTH IPv4 and IPv6 seems too strong.  Can this be
changed to "MUST support IPv4 or IPv6 and should support both, MPLS
tunneling MAY be supported."

7) In Section 3.3.2.1 :
Is this mandating a specific entropy field in the encapsulation header, or
would using the source UDP port or the GRE key qualify?  If they would
qualify, it would be good to add a sentence to say so.

8)In Section 3.3.2.3 it says:
"L2 NVEs MUST support ingress replication and SHOULD support
point-to-multipoint tunnels."
Must seems strong for ingress replication.  There should be a MUST support
ingress replication or point-to-multipoint tunnels. Also, this is
inconsistent with section 3.2.1 where p2mp tunnels are not mentioned but
instead mentions an overlay multicast tree. Does a multicast tree qualify
as a p2mp tunnel ?

9) General comment: In a few places there are instances of "must" and
"may" that are not capitalized.

Thanks, Larry

---

From: "LASSERRE, MARC (MARC)" <[email-masked]>
Date: Wed, 31 Oct 2012 16:48:29 +0100

Hi Larry,

Thanks fo your thorough review.
See my comments inline.

Marc 

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On 
> Behalf Of Larry Kreeger (kreeger)
> Sent: Tuesday, October 30, 2012 1:55 AM
> To: [email-masked]
> Subject: [nvo3] Comments on draft-bl-nvo3-dataplane-requirements-02
> 
> I was reviewing this latest 02 draft fully with a special 
> focus on all the "MUST" statements and have the following comments:
> 
> "An L2 VNI MUST provide an emulated Ethernet multipoint 
> service as if Tenant Systems are interconnected by an 802.1Q 
> LAN over a set of NVO3 tunnels."
> 
> Maybe it can be reworded to make it clearer by explicitly 
> saying something about VLAN tags.

[ml] How about "An L2 VNI MUST provide an emulated Ethernet multipoint 
service as if Tenant Systems are interconnected by an bridge over a set of NVO3 tunnels.
The bridge may be 802.1Q VLAN enabled."?

> What does loop avoidance mean in the data plane? Is split 
> horizon forwarding enough? Is this implying that a TTL is 
> needed in the encapsulation header (inside the outer IP header)?

[ml] No assumption is made. Either mechanism is applicable.

> "As frames arrive from VAPs or from overlay tunnels, the MAC 
> learning procedures described in IEEE 802.1Q are used:..."
> 
> Is there a more specific reference to a part of 802.1Q that 
> describes inner source MAC address to outer source address 
> learning? It may confuse readers because this draft refers to 
> inner MAC to outer L3 address.  Is the reference to 802.1Q required?

[ml] How about, "..., standard MAC learning procedures are used:"?

> "Broadcast, Unknown Unicast and Multicast (BUM) traffic 
> handling MUST be supported."
> 
> It may be desirable for an operator to have the ability to 
> disable unknown unicast (if there is a control plane to 
> distribute MAC to L3 tunnel mappings), and also to disable 
> multicast if it is a service that they do not want to support.
> Are you saying that an implementation must always forward 
> unknown unicast and multicast, or that it must be "capable" 
> of forwarding them if desired?

It is the latter. The text will be clarified in the next revision.

> "To achieve this, the NVE MUST support ingress replication 
> and MAY support multicast over an overlay multicast tree."
> 
> I don't see why ingress replication is a MUST if the underlay 
> can support multicast.  I think this should be reworded to be 
> "To achieve this, the NVE MUST either support ingress 
> replication or MUST support multicast across the underlay 
> network if the underlay supports it."

[ml] Agreed. The text will be changed accordingly.

> "From an encapsulation perspective the IPv4 and IPv6 
> encapsulations MUST be supported, MPLS tunneling MAY be supported."
> 
> Requiring support for BOTH IPv4 and IPv6 seems too strong.  
> Can this be changed to "MUST support IPv4 or IPv6 and should 
> support both, MPLS tunneling MAY be supported."

[ml] Agreed.

> 
> 7) In Section 3.3.2.1 :
> Is this mandating a specific entropy field in the 
> encapsulation header, or would using the source UDP port or 
> the GRE key qualify?  If they would qualify, it would be good 
> to add a sentence to say so.

Both are applicable. The text will be changed to reflect this.

> Must seems strong for ingress replication.  There should be a 
> MUST support ingress replication or point-to-multipoint 
> tunnels. Also, this is inconsistent with section 3.2.1 where 
> p2mp tunnels are not mentioned but instead mentions an 
> overlay multicast tree. Does a multicast tree qualify as a 
> p2mp tunnel ?

[ml] Correct, it MUST support either ingress replication or multicast (e.g. IP multicast trees or p2mp tunnels).
The text will be changed accordingly.

> 
> 9) General comment: In a few places there are instances of 
> "must" and "may" that are not capitalized.

This will be fixed.

> 
> Thanks, Larry
> 
> _______________________________________________
> nvo3 mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/nvo3
>