Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   ovs-fields    ( 7 )

поля заголовка протокола в OpenFlow и Open vSwitch (protocol header fields in OpenFlow and Open vSwitch)

LAYER 3: NSH FIELDS

Summary: Name Bytes Mask RW? Prereqs NXM/OXM Support

───────────────── ──────────────── ───── ──── ──────── ──────────────── nsh_flags 1 yes yes NSH OVS 2.8+ nsh_ttl 1 no yes NSH OVS 2.9+

nsh_mdtype 1 no no NSH OVS 2.8+ nsh_np 1 no no NSH OVS 2.8+ nsh_spi aka nsp 4 (low 24 bits) no yes NSH OVS 2.8+

nsh_si aka nsi 1 no yes NSH OVS 2.8+ nsh_c1 aka nshc1 4 yes yes NSH OVS 2.8+ nsh_c2 aka nshc2 4 yes yes NSH OVS 2.8+

nsh_c3 aka nshc3 4 yes yes NSH OVS 2.8+ nsh_c4 aka nshc4 4 yes yes NSH OVS 2.8+

Service functions are widely deployed and essential in many networks. These service functions provide a range of features such as security, WAN acceleration, and server load balancing. Service functions may be instantiated at different points in the network infrastructure such as the wide area network, data center, and so forth.

Prior to development of the SFC architecture [RFC 7665] and the protocol specified in this document, current service function deployment models have been relatively static and bound to topology for insertion and policy selection. Furthermore, they do not adapt well to elastic service environments enabled by virtualization.

New data center network and cloud architectures require more flexible service function deployment models. Additionally, the transition to virtual platforms demands an agile service insertion model that supports dynamic and elastic service delivery. Specifically, the following functions are necessary:

1. The movement of service functions and application workloads in the network.

2. The ability to easily bind service policy to granular information, such as per-subscriber state.

3. The capability to steer traffic to the requisite service function(s).

The Network Service Header (NSH) specification defines a new data plane protocol, which is an encapsulation for service function chains. The NSH is designed to encapsulate an original packet or frame, and in turn be encapsulated by an outer transport encapsulation (which is used to deliver the NSH to NSH-aware network elements), as shown below:

+-----------------------+----------------------------+---------------------+ |Transport Encapsulation|Network Service Header (NSH)|Original Packet/Frame| +-----------------------+----------------------------+---------------------+

The NSH is composed of the following elements:

1. Service Function Path identification.

2. Indication of location within a Service Function Path.

3. Optional, per packet metadata (fixed length or variable).

[RFC 7665] provides an overview of a service chaining architecture that clearly defines the roles of the various elements and the scope of a service function chaining encapsulation. Figure 3 of [RFC 7665] depicts the SFC architectural components after classification. The NSH is the SFC encapsulation referenced in [RFC 7665].

flags field (2 bits) Field

Name: nsh_flags

Width: 8 bits Format: decimal Masking: arbitrary bitwise masks Prerequisites: NSH Access: read/write OpenFlow 1.0: not supported

OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_FLAGS (1) since Open vSwitch 2.8

TTL field (6 bits) Field

Name: nsh_ttl Width: 8 bits Format: decimal Masking: not maskable Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_TTL (10) since Open vSwitch 2.9

mdtype field (8 bits) Field

Name: nsh_mdtype Width: 8 bits Format: decimal Masking: not maskable Prerequisites: NSH Access: read-only

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_MDTYPE (2) since Open vSwitch 2.8

np (next protocol) field (8 bits) Field

Name: nsh_np Width: 8 bits Format: decimal Masking: not maskable Prerequisites: NSH Access: read-only

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_NP (3) since Open vSwitch 2.8

spi (service path identifier) field (24 bits) Field

Name: nsh_spi (aka nsp) Width: 32 bits (only the least-significant 24 bits may be nonzero) Format: hexadecimal Masking: not maskable Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_SPI (4) since Open vSwitch 2.8

si (service index) field (8 bits) Field

Name: nsh_si (aka nsi) Width: 8 bits Format: decimal Masking: not maskable Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_SI (5) since Open vSwitch 2.8

c1 (Network Platform Context) field (32 bits) Field

Name: nsh_c1 (aka nshc1) Width: 32 bits Format: hexadecimal Masking: arbitrary bitwise masks Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_C1 (6) since Open vSwitch 2.8

c2 (Network Shared Context) field (32 bits) Field

Name: nsh_c2 (aka nshc2) Width: 32 bits Format: hexadecimal Masking: arbitrary bitwise masks Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_C2 (7) since Open vSwitch 2.8

c3 (Service Platform Context) field (32 bits) Field

Name: nsh_c3 (aka nshc3) Width: 32 bits Format: hexadecimal Masking: arbitrary bitwise masks Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_C3 (8) since Open vSwitch 2.8

c4 (Service Shared Context) field (32 bits) Field

Name: nsh_c4 (aka nshc4) Width: 32 bits Format: hexadecimal Masking: arbitrary bitwise masks Prerequisites: NSH Access: read/write

OpenFlow 1.0: not supported OpenFlow 1.1: not supported OXM: none NXM: NXOXM_NSH_C4 (9) since Open vSwitch 2.8