idnits 2.17.1 draft-ietf-ippm-ioam-flags-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 28, 2021) is 971 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-17) exists of draft-ietf-ippm-ioam-data-14 == Outdated reference: A later version (-12) exists of draft-ietf-ippm-ioam-ipv6-options-06 == Outdated reference: A later version (-13) exists of draft-ietf-sfc-ioam-nsh-06 == Outdated reference: A later version (-07) exists of draft-spiegel-ippm-ioam-rawexport-05 Summary: 0 errors (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IPPM T. Mizrahi 3 Internet-Draft Huawei 4 Intended status: Standards Track F. Brockners 5 Expires: March 1, 2022 Cisco 6 S. Bhandari, Ed. 7 Thoughtspot 8 R. Sivakolundu 9 C. Pignataro 10 Cisco 11 A. Kfir 12 B. Gafni 13 Nvidia 14 M. Spiegel 15 Barefoot Networks 16 J. Lemon 17 Broadcom 18 August 28, 2021 20 In-situ OAM Loopback and Active Flags 21 draft-ietf-ippm-ioam-flags-06 23 Abstract 25 In-situ Operations, Administration, and Maintenance (IOAM) records 26 operational and telemetry information in packets while they traverse 27 a path between two points in the network. This document defines two 28 new flags in the IOAM Trace Option headers, specifically the the 29 Loopback and Active flags. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on March 1, 2022. 48 Copyright Notice 50 Copyright (c) 2021 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 67 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 68 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 69 3. New IOAM Trace Option Flags . . . . . . . . . . . . . . . . . 3 70 4. Loopback in IOAM . . . . . . . . . . . . . . . . . . . . . . 3 71 4.1. Loopback: Encapsulating Node Functionality . . . . . . . 4 72 4.1.1. Loopback Packet Selection . . . . . . . . . . . . . . 5 73 4.2. Receiving and Processing Loopback . . . . . . . . . . . . 5 74 4.3. Loopback on the Return Path . . . . . . . . . . . . . . . 6 75 4.4. Terminating a Looped Back Packet . . . . . . . . . . . . 6 76 5. Active Measurement with IOAM . . . . . . . . . . . . . . . . 7 77 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 78 7. Performance Considerations . . . . . . . . . . . . . . . . . 9 79 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 80 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 81 9.1. Normative References . . . . . . . . . . . . . . . . . . 11 82 9.2. Informative References . . . . . . . . . . . . . . . . . 11 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 85 1. Introduction 87 IOAM [I-D.ietf-ippm-ioam-data] is used for monitoring traffic in the 88 network by incorporating IOAM data fields into in-flight data 89 packets. 91 IOAM data may be represented in one of four possible IOAM options: 92 Pre-allocated Trace Option, Incremental Trace Option, Proof of 93 Transit (POT) Option, and Edge-to-Edge Option. This document defines 94 two new flags in the Pre-allocated and Incremental Trace options: the 95 Loopback and Active flags. 97 2. Conventions 99 2.1. Requirements Language 101 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 102 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 103 "OPTIONAL" in this document are to be interpreted as described in BCP 104 14 [RFC2119] [RFC8174] when, and only when, they appear in all 105 capitals, as shown here. 107 2.2. Terminology 109 Abbreviations used in this document: 111 IOAM: In-situ Operations, Administration, and Maintenance 113 OAM: Operations, Administration, and Maintenance 115 3. New IOAM Trace Option Flags 117 This document defines two new flags in the Pre-allocated and 118 Incremental Trace options: 120 Bit 1 "Loopback" (L-bit). When set, the Loopback flag triggers 121 sending a copy of a packet back towards the source, as further 122 described in Section 4. 124 Bit 2 "Active" (A-bit). When set, the Active flag indicates that a 125 packet is an active measurement packet rather than a data packet, 126 where "active" is used in the sense defined in [RFC7799]. The 127 packet may be an IOAM probe packet, or a replicated data packet 128 (the second and third use cases of Section 5). 130 4. Loopback in IOAM 132 The Loopback flag is used to request that each transit device along 133 the path loops back a copy of the data packet to the sender. 134 Loopback allows an IOAM encapsulating node to trace the path to a 135 given destination, and to receive per-hop data about both the forward 136 and the return path. Loopback is intended to provide an accelerated 137 alternative to Traceroute, that allows the encapsulating node to 138 receive responses from multiple transit nodes along the path in less 139 then one round-trip-time, and by sending a single packet. 141 As illustrated in Figure 1, an IOAM encapsulating node can push an 142 IOAM encapsulation that includes the Loopback flag onto some or all 143 of the packets it forwards. The IOAM transit node and the 144 decapsulating node both creates copies of the packet and loop them 145 back to the encapsulating node. The decapsulating node also 146 terminates the IOAM encapsulation, and then forwards the packet 147 towards the destination. The two IOAM looped back copies are 148 terminated by the encapsulating node. 150 +--------+ +--------+ +--------+ +--------+ +--------+ 151 | | | IOAM |.....| IOAM |.....| IOAM | | | 152 +--------+ +--------+ +--------+ +--------+ +--------+ 153 | L2/L3 |<===>| L2/L3 |<===>| L2/L3 |<===>| L2/L3 |<===>| L2/L3 | 154 +--------+ +--------+ +--------+ +--------+ +--------+ 155 Source Encapsulating Transit Decapsulating Destination 156 Node Node Node 158 <------------ IOAM domain -----------> 160 IOAM encap. with Loopback flag 161 Data packet ------->============================>-----------> 162 | | 163 IOAM looped back | | 164 <=============+ | 165 IOAM looped back| 166 <===========================+ 168 Figure 1: Loopback in IOAM. 170 Loopback can be used only if a return path from transit nodes and 171 destination nodes towards the source (encapsulating node) exists. 172 Specifically, loopback is only applicable in encapsulations in which 173 the identity of the encapsulating node is available in the 174 encapsulation header. If an encapsulating node receives a looped 175 back packet that was not originated from the current encapsulating 176 node, the packet is dropped. 178 4.1. Loopback: Encapsulating Node Functionality 180 The encapsulating node either generates synthetic packets with an 181 IOAM trace option that has the Loopback flag set, or sets the loopack 182 flag in a subset of the in-transit data packets. Loopback is used 183 either proactively or on-demand, i.e., when a failure is detected. 184 The encapsulating node also needs to ensure that sufficient space is 185 available in the IOAM header for loopback operation, which includes 186 transit nodes adding trace data on the original path and then again 187 on the return path. 189 An IOAM trace option that has the Loopback flag set MUST have the 190 value '1' in the most significant bit of IOAM-Trace-Type, and '0' in 191 the rest of the bits of IOAM-Trace-Type. Thus, every transit node 192 that processes this trace option only adds a single data field, which 193 is the Hop_Lim and node_id data field. The reason for allowing a 194 single data field per hop is to minimize the impact of amplification 195 attacks. 197 IOAM encapsulating nodes MUST NOT push an IOAM encapsulation with the 198 Loopback flag onto data packets that already include an IOAM 199 encapsulation. This requirement is intended to prevent IOAM Loopback 200 nesting, where looped back packets may be subject to loopback in a 201 nested IOAM domain. 203 4.1.1. Loopback Packet Selection 205 If an IOAM encapsulating node incorporates the Loopback flag into all 206 the traffic it forwards it may lead to an excessive amount of looped 207 back packets, which may overload the network and the encapsulating 208 node. Therefore, an IOAM encapsulating node that supports the 209 Loopback flag MUST support the ability to incorporate the Loopback 210 flag selectively into a subset of the packets that are forwarded by 211 it. 213 Various methods of packet selection and sampling have been previously 214 defined, such as [RFC7014] and [RFC5475]. Similar techniques can be 215 applied by an IOAM encapsulating node to apply Loopback to a subset 216 of the forwarded traffic. 218 The subset of traffic that is forwarded or transmitted with a 219 Loopback flag SHOULD NOT exceed 1/N of the interface capacity on any 220 of the IOAM encapsulating node's interfaces. It is noted that this 221 requirement applies to the total traffic that incorporates a Loopback 222 flag, including traffic that is forwarded by the IOAM encapsulating 223 node and probe packets that are generated by the IOAM encapsulating 224 node. In this context N is a parameter that can be configurable by 225 network operators. If there is an upper bound, M, on the number of 226 IOAM transit nodes in any path in the network, then it is recommended 227 to use an N such that N >> M. The rationale is that a packet that 228 includes the Loopback flag triggers a looped back packet from each 229 IOAM transit node along the path for a total of M looped back 230 packets. Thus, if N >> M then the number of looped back packets is 231 significantly lower than the number of data packets forwarded by the 232 IOAM encapsulating node. If there is no prior knowledge about the 233 network topology or size, it is recommended to use N>100. 235 4.2. Receiving and Processing Loopback 237 A Loopback flag that is set indicates to the transit nodes processing 238 this option that they are to create a copy of the received packet and 239 send the copy back to the source of the packet. In this context the 240 source is the IOAM encapsulating node, and it is assumed that the 241 source address is available in the encapsulation header. Thus, the 242 source address of the original packet is used as the destination 243 address in the copied packet. The address of the node performing the 244 copy operation is used as the source address. The IOAM transit node 245 pushes the required data field *after* creating the copy of the 246 packet, in order to allow any egress-dependent information to be set 247 based on the egress of the copy rather than the original packet. The 248 copy is also truncated, i.e., any payload that resides after the IOAM 249 option(s) is removed before transmitting the looped back packet back 250 towards the encapsulating node. The original packet continues 251 towards its destination. The L-bit MUST be cleared in the copy of 252 the packet that a node sends back towards the source. 254 An IOAM node that supports the reception and processing of the 255 Loopback flag MUST support the ability to limit the rate of the 256 looped back packets. The rate of looped back packets SHOULD be 257 limited so that the number of looped back packets is significantly 258 lower than the number of packets that are forwarded by the device. 259 The looped back data rate SHOULD NOT exceed 1/N of the interface 260 capacity on any of the IOAM node's interfaces. It is recommended to 261 use N>100. Depending on the IOAM node's architecture considerations, 262 the loopback response rate may be limited to a lower number in order 263 to avoid loading the IOAM node. 265 4.3. Loopback on the Return Path 267 On its way back towards the source, the copied packet is processed 268 like any other packet with IOAM information, including adding any 269 requested data at each transit node (assuming there is sufficient 270 space). 272 4.4. Terminating a Looped Back Packet 274 Once the return packet reaches the IOAM domain boundary, IOAM 275 decapsulation occurs as with any other packet containing IOAM 276 information. Note that the looped back packet does not have the 277 L-bit set. The IOAM encapsulating node that initiated the original 278 loopback packet recognizes a received packet as an IOAM looped-back 279 packet by checking the Node ID in the Hop_Lim/node_id field that 280 corresponds to the first hop. If the Node ID matches the current 281 IOAM node, it indicates that this is a looped back packet that was 282 initiated by the current IOAM node, and processed accordingly. If 283 there is no match in the Node ID, the packet is processed like a 284 conventional IOAM-encapsulated packet. 286 Note that an IOAM encapsulating node may either be an endpoint (such 287 as an IPv6 host), or a switch/router that pushes a tunnel 288 encapsulation onto data packets. In both cases, the functionality 289 that was described above avoids IOAM data leaks from the IOAM domain. 290 Specificallly, if an IOAM looped-back packet reaches an IOAM boundary 291 node that is not the IOAM node that initiated the loopback, the node 292 does not process the packet as a loopback; the IOAM encapsulation is 293 removed, and since the packet does not have any payload it is 294 terminated. In either case, when the packet reaches the IOAM 295 boundary its IOAM encapsulation is removed, preventing IOAM 296 information from leaking out from the IOAM domain. 298 5. Active Measurement with IOAM 300 Active measurement methods [RFC7799] make use of synthetically 301 generated packets in order to facilitate measurement. This section 302 presents use cases of active measurement using the IOAM Active flag. 304 The Active flag indicates that a packet is used for active 305 measurement. An IOAM decapsulating node that receives a packet with 306 the Active flag set in one of its Trace options must terminate the 307 packet. The Active flag is intended to simplify the implementation 308 of decapsulating nodes by indicating that the packet should not be 309 forwarded further. It is not intended as a replacement for existing 310 active OAM protocols, which may run in higher layers and make use of 311 the Active flag. 313 An example of an IOAM deployment scenario is illustrated in Figure 2. 314 The figure depicts two endpoints, a source and a destination. The 315 data traffic from the source to the destination is forwarded through 316 a set of network devices, including an IOAM encapsulating node, which 317 incorporates one or more IOAM options, a decapsulating node, which 318 removes the IOAM options, optionally one or more transit nodes. The 319 IOAM options are encapsulated in one of the IOAM encapsulation types, 320 e.g., [I-D.ietf-sfc-ioam-nsh], or [I-D.ietf-ippm-ioam-ipv6-options]. 322 +--------+ +--------+ +--------+ +--------+ +--------+ 323 | | | IOAM |.....| IOAM |.....| IOAM | | | 324 +--------+ +--------+ +--------+ +--------+ +--------+ 325 | L2/L3 |<===>| L2/L3 |<===>| L2/L3 |<===>| L2/L3 |<===>| L2/L3 | 326 +--------+ +--------+ +--------+ +--------+ +--------+ 327 Source Encapsulating Transit Decapsulating Destination 328 Node Node Node 330 <------------ IOAM domain -----------> 332 Figure 2: Network using IOAM. 334 This draft focuses on three possible use cases of active measurement 335 using IOAM. These use cases are described using the example of 336 Figure 2. 338 o Endpoint active measurement: synthetic probe packets are sent 339 between the source and destination, traversing the IOAM domain. 340 Since the probe packets are sent between the endpoints, these 341 packets are treated as data packets by the IOAM domain, and do not 342 require special treatment at the IOAM layer. Specifically, the 343 Active flag is not used in this case, and the IOAM layer needs not 344 be aware that an active measurement mechanism is used at a higher 345 layer. 347 o IOAM active measurement using probe packets within the IOAM 348 domain: probe packets are generated and transmitted by the IOAM 349 encapsulating node, and are expected to be terminated by the 350 decapsulating node. IOAM data related to probe packets may be 351 exported by one or more nodes along its path, by an exporting 352 protocol that is outside the scope of this document (e.g., 353 [I-D.spiegel-ippm-ioam-rawexport]). Probe packets include a Trace 354 Option which has its Active flag set, indicating that the 355 decapsulating node must terminate them. 357 o IOAM active measurement using replicated data packets: probe 358 packets are created by the encapsulating node by selecting some or 359 all of the en route data packets and replicating them. A selected 360 data packet that is replicated, and its (possibly truncated) copy 361 is forwarded with one or more IOAM option, while the original 362 packet is forwarded normally, without IOAM options. To the extent 363 possible, the original data packet and its replica are forwarded 364 through the same path. The replica includes a Trace Option that 365 has its Active flag set, indicating that the decapsulating node 366 should terminate it. It should be noted that the current document 367 defines the role of the Active flag in allowing the decapsulating 368 node to terminate the packet, but the replication functionality in 369 this context is outside the scope of this document. 371 If the volume of traffic that incorporates the Active flag is large, 372 it may overload the network and the IOAM node(s) that process the 373 active measurement packet. Thus, the rate of the traffic that 374 includes the Active flag rate SHOULD NOT exceed 1/N of the interface 375 capacity on any of the IOAM node's interfaces. It is recommended to 376 use N>100. Depending on the IOAM node's architecture considerations, 377 the rate of Active-enabled IOAM packets may be limited to a lower 378 number in order to avoid loading the IOAM node. 380 6. IANA Considerations 382 IANA is requested to allocate the following bits in the "IOAM Trace 383 Flags Registry" as follows: 385 Bit 1 "Loopback" (L-bit) 387 Bit 2 "Active" (A-bit) 389 Note that bit 0 is the most significant bit in the Flags Registry. 391 7. Performance Considerations 393 Each of the flags that are defined in this document may have 394 performance implications. When using the loopback mechanism a copy 395 of the data packet is sent back to the sender, thus generating more 396 traffic than originally sent by the endpoints. Using active 397 measurement with the Active flag requires the use of synthetic 398 (overhead) traffic. 400 Each of the mechanisms that use the flags above has a cost in terms 401 of the network bandwidth, and may potentially load the node that 402 analyzes the data. Therefore, it MUST be possible to use each of the 403 mechanisms on a subset of the data traffic; an encapsulating node 404 needs to be able to set the Loopback and Active flag selectively, in 405 a way that considers the effect on the network performance, as 406 further discussed in Section 4.1.1 and Section 5. 408 Transit and decapsulating nodes that support Loopback need to be able 409 to limit the looped back packets (Section 4.2) so as to ensure that 410 the mechanisms are used at a rate that does not significantly affect 411 the network bandwidth, and does not overload the source node in the 412 case of loopback. 414 8. Security Considerations 416 The security considerations of IOAM in general are discussed in 417 [I-D.ietf-ippm-ioam-data]. Specifically, an attacker may try to use 418 the functionality that is defined in this document to attack the 419 network. 421 An attacker may attempt to overload network devices by injecting 422 synthetic packets that include an IOAM Trace Option with one or more 423 of the flags defined in this document. Similarly, an on-path 424 attacker may maliciously set one or more of the flags of transit 425 packets. 427 o Loopback flag: an attacker that sets this flag, either in 428 synthetic packets or transit packet, can potentially cause an 429 amplification, since each device along the path creates a copy of 430 the data packet and sends it back to the source. The attacker can 431 potentially leverage the Loopback flag for a Distributed Denial of 432 Service (DDoS) attack, as multiple devices send looped-back copies 433 of a packet to a single source. 435 o Active flag: the impact of synthetic packets with the Active flag 436 is no worse than synthetic data packets in which the Active flag 437 is not set. By setting the Active flag in en route packets an 438 attacker can prevent these packets from reaching their 439 destination, since the packet is terminated by the decapsulating 440 device; however, note that an on-path attacker may achieve the 441 same goal by changing the destination address of a packet. 442 Another potential threat is amplification; if an attacker causes 443 transit switches to replicate more packets than they are intended 444 to replicate, either by setting the Active flag or by sending 445 synthetic packets, then traffic is amplified, causing bandwidth 446 degredation. As mentioned in Section 5, the specification of the 447 replication mechanism is not within the scope of this document. A 448 specification that defines the replication functionality should 449 also address the security aspects of this mechanism. 451 Some of the security threats that were discussed in this document may 452 be worse in a wide area network in which there are nested IOAM 453 domains. For example, if there are two nested IOAM domains that use 454 loopback, then a looped-back copy in the outer IOAM domain may be 455 forwarded through another (inner) IOAM domain and may be subject to 456 loopback in that (inner) IOAM domain, causing the amplification to be 457 worse than in the conventional case. 459 In order to mitigate the performance-related attacks described above, 460 as described in Section 7 it should be possible for IOAM-enabled 461 devices to selectively apply the mechanisms that use the flags 462 defined in this document to a subset of the traffic, and to limit the 463 performance of synthetically generated packets to a configurable 464 rate. Specifically, IOAM nodes should be able to: 466 o Limit the rate of IOAM packets with the Loopback flag (IOAM 467 encapsulating nodes), as discussed in Section 4.1.1. 469 o Limit the rate of looped back packets (IOAM transit and 470 decapsulating nodes), as discussed in Section 4.2. 472 o Limit the rate of IOAM packets with the Active flag (IOAM 473 encapsulating nodes), as discussed in Section 5. 475 As defined in Section 4, transit nodes that process a packet with the 476 Loopback flag only add a single data field, and truncate any payload 477 that follows the IOAM option(s), thus significanly limiting the 478 possible impact of an amplification attack. 480 IOAM is assumed to be deployed in a restricted administrative domain, 481 thus limiting the scope of the threats above and their affect. This 482 is a fundamental assumtion with respect to the security aspects of 483 IOAM, as further discussed in [I-D.ietf-ippm-ioam-data]. 485 9. References 487 9.1. Normative References 489 [I-D.ietf-ippm-ioam-data] 490 Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields 491 for In-situ OAM", draft-ietf-ippm-ioam-data-14 (work in 492 progress), June 2021. 494 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 495 Requirement Levels", BCP 14, RFC 2119, 496 DOI 10.17487/RFC2119, March 1997, 497 . 499 [RFC5475] Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F. 500 Raspall, "Sampling and Filtering Techniques for IP Packet 501 Selection", RFC 5475, DOI 10.17487/RFC5475, March 2009, 502 . 504 [RFC7014] D'Antonio, S., Zseby, T., Henke, C., and L. Peluso, "Flow 505 Selection Techniques", RFC 7014, DOI 10.17487/RFC7014, 506 September 2013, . 508 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 509 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 510 May 2017, . 512 9.2. Informative References 514 [I-D.ietf-ippm-ioam-ipv6-options] 515 Bhandari, S. and F. Brockners, "In-situ OAM IPv6 Options", 516 draft-ietf-ippm-ioam-ipv6-options-06 (work in progress), 517 July 2021. 519 [I-D.ietf-sfc-ioam-nsh] 520 Brockners, F. and S. Bhandari, "Network Service Header 521 (NSH) Encapsulation for In-situ OAM (IOAM) Data", draft- 522 ietf-sfc-ioam-nsh-06 (work in progress), July 2021. 524 [I-D.spiegel-ippm-ioam-rawexport] 525 Spiegel, M., Brockners, F., Bhandari, S., and R. 526 Sivakolundu, "In-situ OAM raw data export with IPFIX", 527 draft-spiegel-ippm-ioam-rawexport-05 (work in progress), 528 July 2021. 530 [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with 531 Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, 532 May 2016, . 534 Authors' Addresses 536 Tal Mizrahi 537 Huawei 538 Israel 540 Email: tal.mizrahi.phd@gmail.com 542 Frank Brockners 543 Cisco Systems, Inc. 544 Hansaallee 249, 3rd Floor 545 DUESSELDORF, NORDRHEIN-WESTFALEN 40549 546 Germany 548 Email: fbrockne@cisco.com 550 Shwetha Bhandari (editor) 551 Thoughtspot 552 3rd Floor, Indiqube Orion, 24th Main Rd, Garden Layout, HSR Layout 553 Bangalore, KARNATAKA 560 102 554 India 556 Email: shwetha.bhandari@thoughtspot.com 558 Ramesh Sivakolundu 559 Cisco Systems, Inc. 560 170 West Tasman Dr. 561 SAN JOSE, CA 95134 562 U.S.A. 564 Email: sramesh@cisco.com 565 Carlos Pignataro 566 Cisco Systems, Inc. 567 7200-11 Kit Creek Road 568 Research Triangle Park, NC 27709 569 United States 571 Email: cpignata@cisco.com 573 Aviv Kfir 574 Nvidia 576 Email: avivk@nvidia.com 578 Barak Gafni 579 Nvidia 580 350 Oakmead Parkway, Suite 100 581 Sunnyvale, CA 94085 582 U.S.A. 584 Email: gbarak@nvidia.com 586 Mickey Spiegel 587 Barefoot Networks 588 4750 Patrick Henry Drive 589 Santa Clara, CA 95054 590 US 592 Email: mspiegel@barefootnetworks.com 594 Jennifer Lemon 595 Broadcom 596 270 Innovation Drive 597 San Jose, CA 95134 598 US 600 Email: jennifer.lemon@broadcom.com