Lines Matching +full:fixed +full:- +full:length
10 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
11 * |Ver|O|U| TTL | Length |U|U|U|U|MD Type| Next Protocol |
12 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
14 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
18 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
27 * discussion of MPLS-related forwarding requirements.
32 * example [I-D.ietf-sfc-oam-framework] for one approach).
34 * The O bit MUST be set for OAM packets and MUST NOT be set for non-OAM
65 * Length: The total length, in 4-byte words, of NSH including the Base
66 * Header, the Service Path Header, the Fixed Length Context Header or
67 * Variable Length Context Header(s). The length MUST be 0x6 for MD
69 * 0x2. The length of the NSH header MUST be an integer multiple of 4
70 * bytes, thus variable length metadata is always padded out to a
77 * 0x0 - This is a reserved value. Implementations SHOULD silently
80 * 0x1 - This indicates that the format of the header includes a fixed
81 * length Context Header (see Figure 4 below).
83 * 0x2 - This does not mandate any headers beyond the Base Header and
84 * Service Path Header, but may contain optional variable length Context
85 * Header(s). The semantics of the variable length Context Header(s)
87 * variable length Context Headers is provided in Section 2.5.1.
89 * 0xF - This value is reserved for experimentation and testing, as per
123 * (i.e., taking into account the length of the service function path).
128 * the identified SFP for forwarding along an SFP. If re-classification
129 * occurs, and that re-classification results in a new SPI, the
140 * When the Base Header specifies MD Type = 0x1, a Fixed Length Context
141 * Header (16-bytes) MUST be present immediately following the Service
142 * Path Header. The value of a Fixed Length Context
146 * Length Context Headers MAY be added, immediately following the
147 * Service Path Header (see Figure 5). Therefore, Length = 0x2,
149 * Header are present. The optional Variable Length Context Headers
150 * MUST be of an integer number of 4-bytes. The base header Length
155 * The format of the optional variable length Context Headers
159 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
160 * | Metadata Class | Type |U| Length |
161 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
163 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
176 * Length: Indicates the length of the variable metadata, in bytes. In
177 * case the metadata length is not an integer number of 4-byte words,
179 * byte to extend the metadata to an integer number of 4-byte words.
180 * The receiver MUST round up the length field to the nearest 4-byte
183 * by the length field (i.e., actual number of bytes) and MUST ignore
184 * the remaining bytes up to the nearest 4-byte word boundary. The
185 * Length may be 0 or greater.
190 * [0] https://datatracker.ietf.org/doc/draft-ietf-sfc-nsh/
194 * struct nsh_md1_ctx - Keeps track of NSH context data
204 u8 length; member
243 /* NSH Base Header Length */
246 /* NSH MD Type 1 header Length. */
249 /* NSH header maximum Length. */
252 /* NSH context headers maximum Length. */
262 return ((ntohs(nsh->ver_flags_ttl_len) & NSH_LEN_MASK) in nsh_hdr_len()
268 return (ntohs(nsh->ver_flags_ttl_len) & NSH_VER_MASK) in nsh_get_ver()
274 return (ntohs(nsh->ver_flags_ttl_len) & NSH_FLAGS_MASK) in nsh_get_flags()
280 return (ntohs(nsh->ver_flags_ttl_len) & NSH_TTL_MASK) in nsh_get_ttl()
286 nsh->ver_flags_ttl_len in __nsh_set_xflag()
287 = (nsh->ver_flags_ttl_len & ~htons(xmask)) | htons(xflag); in __nsh_set_xflag()