draft-ietf-intarea-gue-03.txt   draft-ietf-intarea-gue-04.txt 
Internet Area WG T. Herbert Internet Area WG T. Herbert
Internet-Draft Quantonium Internet-Draft Quantonium
Intended status: Standard track L. Yong Intended status: Standard track L. Yong
Expires November 11, 2017 Huawei USA Expires November 19, 2017 Huawei USA
O. Zia O. Zia
Microsoft Microsoft
May 10, 2017 May 18, 2017
Generic UDP Encapsulation Generic UDP Encapsulation
draft-ietf-intarea-gue-03 draft-ietf-intarea-gue-04
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 4, line 23 skipping to change at page 4, line 23
5.12 Negotiation of acceptable flags and extension fields . . . 24 5.12 Negotiation of acceptable flags and extension fields . . . 24
6. Motivation for GUE . . . . . . . . . . . . . . . . . . . . . . 24 6. Motivation for GUE . . . . . . . . . . . . . . . . . . . . . . 24
6.1. Benefits of GUE . . . . . . . . . . . . . . . . . . . . . . 24 6.1. Benefits of GUE . . . . . . . . . . . . . . . . . . . . . . 24
6.2 Comparison of GUE to other encapsulations . . . . . . . . . 25 6.2 Comparison of GUE to other encapsulations . . . . . . . . . 25
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 26 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 26
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 27 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 27
8.1. UDP source port . . . . . . . . . . . . . . . . . . . . . . 27 8.1. UDP source port . . . . . . . . . . . . . . . . . . . . . . 27
8.2. GUE version number . . . . . . . . . . . . . . . . . . . . 28 8.2. GUE version number . . . . . . . . . . . . . . . . . . . . 28
8.3. Control types . . . . . . . . . . . . . . . . . . . . . . . 28 8.3. Control types . . . . . . . . . . . . . . . . . . . . . . . 28
8.4. Flag-fields . . . . . . . . . . . . . . . . . . . . . . . . 28 8.4. Flag-fields . . . . . . . . . . . . . . . . . . . . . . . . 28
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 29 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.1. Normative References . . . . . . . . . . . . . . . . . . . 29 10.1. Normative References . . . . . . . . . . . . . . . . . . . 29
10.2. Informative References . . . . . . . . . . . . . . . . . . 30 10.2. Informative References . . . . . . . . . . . . . . . . . . 29
Appendix A: NIC processing for GUE . . . . . . . . . . . . . . . . 33 Appendix A: NIC processing for GUE . . . . . . . . . . . . . . . . 32
A.1. Receive multi-queue . . . . . . . . . . . . . . . . . . . . 33 A.1. Receive multi-queue . . . . . . . . . . . . . . . . . . . . 32
A.2. Checksum offload . . . . . . . . . . . . . . . . . . . . . 33 A.2. Checksum offload . . . . . . . . . . . . . . . . . . . . . 33
A.2.1. Transmit checksum offload . . . . . . . . . . . . . . . 34 A.2.1. Transmit checksum offload . . . . . . . . . . . . . . . 33
A.2.2. Receive checksum offload . . . . . . . . . . . . . . . 34 A.2.2. Receive checksum offload . . . . . . . . . . . . . . . 34
A.3. Transmit Segmentation Offload . . . . . . . . . . . . . . . 35 A.3. Transmit Segmentation Offload . . . . . . . . . . . . . . . 34
A.4. Large Receive Offload . . . . . . . . . . . . . . . . . . . 36 A.4. Large Receive Offload . . . . . . . . . . . . . . . . . . . 35
Appendix B: Implementation considerations . . . . . . . . . . . . 36 Appendix B: Implementation considerations . . . . . . . . . . . . 36
B.1. Priveleged ports . . . . . . . . . . . . . . . . . . . . . 36 B.1. Priveleged ports . . . . . . . . . . . . . . . . . . . . . 36
B.2. Setting flow entropy as a route selector . . . . . . . . . 37 B.2. Setting flow entropy as a route selector . . . . . . . . . 36
B.3. Hardware protocol implementation considerations . . . . . . 37 B.3. Hardware protocol implementation considerations . . . . . . 36
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37
1. Introduction 1. Introduction
This specification describes Generic UDP Encapsulation (GUE) which is This specification describes Generic UDP Encapsulation (GUE) which is
a general method for encapsulating packets of arbitrary IP protocols a general method for encapsulating packets of arbitrary IP protocols
within User Datagram Protocol (UDP) [RFC0768] packets. Encapsulating within User Datagram Protocol (UDP) [RFC0768] packets. Encapsulating
packets in UDP facilitates efficient transport across networks. packets in UDP facilitates efficient transport across networks.
Networking devices widely provide protocol specific processing and Networking devices widely provide protocol specific processing and
optimizations for UDP (as well as TCP) packets. Packets for atypical optimizations for UDP (as well as TCP) packets. Packets for atypical
skipping to change at page 28, line 46 skipping to change at page 28, line 46
| 128..255 | User defined | This document | | 128..255 | User defined | This document |
+----------------+------------------+---------------+ +----------------+------------------+---------------+
8.4. Flag-fields 8.4. Flag-fields
IANA is requested to create a "GUE flag-fields" registry to allocate IANA is requested to create a "GUE flag-fields" registry to allocate
flags and extension fields used with GUE. This shall be a registry of flags and extension fields used with GUE. This shall be a registry of
bit assignments for flags, length of extension fields for bit assignments for flags, length of extension fields for
corresponding flags, and descriptive strings. There are sixteen bits corresponding flags, and descriptive strings. There are sixteen bits
for primary GUE header flags (bit number 0-15). New values are for primary GUE header flags (bit number 0-15). New values are
assigned in accordance with RFC Required policy [RFC5226]. assigned in accordance with RFC Required policy [RFC5226]. New flags
should be allocated from high to low order bit contiguously without
+-------------+--------------+-------------+--------------------+ holes. [GUEXTENS] requests in initial set of flag assignments.
| Flags bits | Field size | Description | Reference |
+-------------+--------------+-------------+--------------------+
| Bit 0 | 4 bytes | Group | [GUEEXTENS] |
| | | identifier | |
| | | | |
| Bit 1..3 | 001->8 bytes | Security | [GUEEXTENS] |
| | 010->16 bytes| | |
| | 011->32 bytes| | |
| | | | |
| Bit 4 | 8 bytes | Fragmen- | [GUEEXTENS] |
| | | tation | |
| | | | |
| Bit 5 | 4 bytes | Payload | [GUEEXTENS] |
| | | transform | |
| | | | |
| Bit 6 | 4 bytes | Remote | [GUEEXTENS] |
| | | checksum | |
| | | offload | |
| | | | |
| Bit 7 | 4 bytes | Checksum | [GUEEXTENS] |
| | | | |
| Bit 8..15 | | Unassigned | |
+-------------+--------------+-------------+--------------------+
New flags are to be allocated from high to low order bit contiguously
without holes.
9. Acknowledgements 9. Acknowledgements
The authors would like to thank David Liu, Erik Nordmark, Fred The authors would like to thank David Liu, Erik Nordmark, Fred
Templin, Adrian Farrel, Bob Briscoe, and Murray Kucherawy for Templin, Adrian Farrel, Bob Briscoe, and Murray Kucherawy for
valuable input on this draft. valuable input on this draft.
10. References 10. References
10.1. Normative References 10.1. Normative References
 End of changes. 9 change blocks. 
41 lines changed or deleted 15 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/