The concept of Geneve as a generalized encapsulation technique -- or
even the concept of some alternative to Geneve as a generalized
encapsulation technique -- brings very little overhead other than
demands on number assignments.  This message is an exercise to work
through the implications of that idea.

When Geneve is used over layer 4, UDP, then there needs to be an
assigned UDP destination port.  IANA has assigned 6081 as the port
number.

When Geneve is used over layer 3, IP, it needs a protocol/next header
value.  Protocol values are only 8 bits, but only a bit over half of the
space has been allocated in 30 years, so it seems that there's not a lot
of pressure on the number-space.

When Geneve is used over layer 2, Ethernet, it needs an Ethertype
value.  But only 3,500 Ethertypes have been assigned out of a space of
64k.

In theory, Geneve could be used over layer 1, in which case the
underlying protocol doesn't have a next-protocol field, but rather the
layer 2 protocol is configured by the operational environment

The Geneve header contains a next-protocol field, which is an Ethertype,
which signals the overlying protocol.

When layer 2 is used over Geneve, the next-protocol is 6558
(encapsulated Ethernet).

When layer 3 is used over Geneve, the next-protocol is 0800 (IPv4) or
86DD (IPv6).

When layer 4 is used over Geneve, things are more complicated, because
there's no defined way of representing an IP protocol/next header value
directly as an Ethertype, and few or no protocols that can be
represented as such a value have assigned Ethertypes.

It seems to me that it would be useful to embed the IP protocol/next
header value space into the Ethertype space by allocating a block of 256
Ethertypes, xx00 to xxFF, to IANA, to represent the protocol/next header
values.  This is a large allocation, but the Ethertype space is thinly
allocated and ony 60 or so of the possible first-byte values are used,
leaving over 150 choices to allocate.

Thus, if we are to generalize Geneve (or any similar protocol) to be
used over and under various protocol layers, we need these additional
IANA assignments:

- a protocol/next header value to indicate Geneve

- an Ethertype to indicate Geneve

- a 256-value block of Ethertypes that are assigned to IANA to embed the
  protocol/next header value space

Comments?

Dale

_______________________________________________
nvo3 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/nvo3

Reply via email to