Subject: [sfc] Clarifying which bits of the NSH are mandatory

From: "Adrian Farrel" <[email-masked]>
Date: Wed, 18 Jan 2017 14:58:54 -0000

Hi,

In discussions at the interim there was some (potential) confusion about which
of the headers in the NSH are mandatory. The chairs made a call for a proposal
of new text to make this clarification.

Can I propose...

OLD
3.1.  Network Service Header Format

   An NSH is composed of a 4-byte (all references to bytes in this draft
   refer to 8-bit bytes, or octets) Base Header, a 4-byte Service Path
   Header and Context Headers, as shown in Figure 1 below.

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Base Header                                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Service Path Header                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                Context Headers                                ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: Network Service Header

   Base header: provides information about the service header and the
   payload protocol.

   Service Path Header: provide path identification and location within
   a service path.

   Context headers: carry metadata (i.e. context data) along a service
   path.
NEW
3.1.  Network Service Header Format

   An NSH is composed of a 4-byte (all references to bytes in this draft
   refer to 8-bit bytes, or octets) Base Header, a 4-byte Service Path
   Header and Context Headers, as shown in Figure 1 below.

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Base Header                                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Service Path Header                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                Context Headers                                ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: Network Service Header

   Base Header: Provides information about the service header and the
   payload protocol. The Base Header is mandatory in the NSH.

   Service Path Header: Provides path identification and location within
   a service path. The Service Path Header is mandatory in the NSH.

   Context Headers: Carry metadata (i.e. context data) along a service
   path. Context Headers are optional in the NSH dependent on the
   setting of the MD Type field of the Base Header (see Section 3.2).
END