draft-ietf-dhc-slap-quadrant-03.txt   draft-ietf-dhc-slap-quadrant-04.txt 
DHC WG CJ. Bernardos DHC WG CJ. Bernardos
Internet-Draft UC3M Internet-Draft UC3M
Intended status: Standards Track A. Mourad Intended status: Standards Track A. Mourad
Expires: August 31, 2020 InterDigital Expires: August 31, 2020 InterDigital
February 28, 2020 February 28, 2020
SLAP quadrant selection options for DHCPv6 SLAP quadrant selection options for DHCPv6
draft-ietf-dhc-slap-quadrant-03 draft-ietf-dhc-slap-quadrant-04
Abstract Abstract
The IEEE originally structured the 48-bit MAC address space in such a The IEEE originally structured the 48-bit MAC address space in such a
way that half of it was reserved for local use. Recently, the IEEE way that half of it was reserved for local use. Recently, the IEEE
has been working on a new specification (IEEE 802c) which defines a has been working on a new specification (IEEE 802c) which defines a
new "optional Structured Local Address Plan" (SLAP) that specifies new "optional Structured Local Address Plan" (SLAP) that specifies
different assignment approaches in four specified regions of the different assignment approaches in four specified regions of the
local MAC address space. local MAC address space.
skipping to change at page 2, line 34 skipping to change at page 2, line 34
1.1.1. WiFi devices . . . . . . . . . . . . . . . . . . . . 4 1.1.1. WiFi devices . . . . . . . . . . . . . . . . . . . . 4
1.1.2. Hypervisor: migratable vs non-migratable functions . 5 1.1.2. Hypervisor: migratable vs non-migratable functions . 5
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Quadrant Selection Mechanisms . . . . . . . . . . . . . . . . 6 3. Quadrant Selection Mechanisms . . . . . . . . . . . . . . . . 6
4. DHCPv6 Extensions . . . . . . . . . . . . . . . . . . . . . . 9 4. DHCPv6 Extensions . . . . . . . . . . . . . . . . . . . . . . 9
4.1. Address Assignment from the Preferred SLAP Quadrant 4.1. Address Assignment from the Preferred SLAP Quadrant
Indicated by the Client . . . . . . . . . . . . . . . . . 9 Indicated by the Client . . . . . . . . . . . . . . . . . 9
4.2. Address Assignment from the SLAP Quadrant Indicated by 4.2. Address Assignment from the SLAP Quadrant Indicated by
the Relay . . . . . . . . . . . . . . . . . . . . . . . . 11 the Relay . . . . . . . . . . . . . . . . . . . . . . . . 11
5. DHCPv6 Options Definitions . . . . . . . . . . . . . . . . . 13 5. DHCPv6 Options Definitions . . . . . . . . . . . . . . . . . 13
5.1. Quad (IA-LL) option . . . . . . . . . . . . . . . . . . . 13 5.1. Quad (IA_LL) option . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
7. Security Considerations . . . . . . . . . . . . . . . . . . . 15 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.1. Normative References . . . . . . . . . . . . . . . . . . 16 9.1. Normative References . . . . . . . . . . . . . . . . . . 16
9.2. Informative References . . . . . . . . . . . . . . . . . 16 9.2. Informative References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
skipping to change at page 9, line 44 skipping to change at page 9, line 44
|<-----6. Reply(IA_LL(LLADDR))---------+ |<-----6. Reply(IA_LL(LLADDR))---------+
| | | |
Figure 3: DHCPv6 signaling flow (client-server) Figure 3: DHCPv6 signaling flow (client-server)
1. Link-layer addresses (i.e., MAC addresses) are assigned in 1. Link-layer addresses (i.e., MAC addresses) are assigned in
blocks. The smallest block is a single address. To request an blocks. The smallest block is a single address. To request an
assignment, the client sends a Solicit message with a IA_LL assignment, the client sends a Solicit message with a IA_LL
option in the message. The IA_LL option MUST contain a LLADDR option in the message. The IA_LL option MUST contain a LLADDR
option. In order to indicate the preferred SLAP quadrant(s), the option. In order to indicate the preferred SLAP quadrant(s), the
IA_LL option includes the new OPTION_SLAP_QUAD option(s) in the IA_LL option includes the new OPTION_SLAP_QUAD option in the
IA-LL-option field (with the LLAADR option). IA_LL-option field (with the LLAADR option).
2. The server, upon receiving a IA_LL option, inspects its content 2. The server, upon receiving a IA_LL option, inspects its content
and may offer an address or addresses for each LLADDR option and may offer an address or addresses for each LLADDR option
according to its policy. The server sends back an Advertise according to its policy. The server sends back an Advertise
message with an IA_LL option containing an LLADDR option that message with an IA_LL option containing an LLADDR option that
specifies the addresses being offered. If the server supports specifies the addresses being offered. If the server supports
the new QUAD IA-LL-option, and manages a block of addresses the new QUAD IA_LL-option, and manages a block of addresses
belonging to the requested quadrant(s), the addresses being belonging to the requested quadrant(s), the addresses being
offered MUST belong to the requested quadrant(s). If the server offered MUST belong to the requested quadrant(s). If the server
does not have a configured address pool matching the client's does not have a configured address pool matching the client's
request, it MUST return the IA_LL option containing a Status Code request, it MUST return the IA_LL option containing a Status Code
option with status set to NoQuadAvail (IANA-2). If the client option with status set to NoQuadAvail (IANA-2). If the client
specified more than one SLAP quadrant, the server MUST only specified more than one SLAP quadrant, the server MUST only
return a NoQuadAvail status code if the address pool configured return a NoQuadAvail status code if no address pool(s)
at the server does not match any of the specified SLAP quadrants. configured at the server match any of the specified SLAP
If the server has a configured address pool of the correct quadrants. If the server has a configured address pool of the
quadrant, but no available addresses, it MUST return the IA_LL correct quadrant, but no available addresses, it MUST return the
option containing a Status Code option with status set to IA_LL option containing a Status Code option with status set to
NoAddrsAvail. NoAddrsAvail.
3. The client waits for available servers to send Advertise 3. The client waits for available servers to send Advertise
responses and picks one server as defined in Section 18.2.9 of responses and picks one server as defined in Section 18.2.9 of
[RFC8415]. The client then sends a Request message that includes [RFC8415]. The client SHOULD NOT pick a server that does not
the IA_LL container option with the LLADDR option copied from the advertise an address in the requested quadrant. The client then
Advertise message sent by the chosen server. It includes the sends a Request message that includes the IA_LL container option
preferred SLAP quadrant(s) in the new QUAD IA-LL-option. with the LLADDR option copied from the Advertise message sent by
the chosen server. It includes the preferred SLAP quadrant(s) in
the new QUAD IA_LL-option.
4. Upon reception of a Request message with IA_LL container option, 4. Upon reception of a Request message with IA_LL container option,
the server assigns requested addresses. The server MAY alter the the server assigns requested addresses. The server MAY alter the
allocation at this time. It then generates and sends a Reply allocation at this time. It then generates and sends a Reply
message back to the client. Upon receiving a Reply message, the message back to the client. Upon receiving a Reply message, the
client parses the IA_LL container option and may start using all client parses the IA_LL container option and may start using all
provided addresses. Note that a client that has included a Rapid provided addresses. Note that a client that has included a Rapid
Commit option in the Solicit, may receive a Reply in response to Commit option in the Solicit, may receive a Reply in response to
the Solicit and skip the Advertise and Request steps above the Solicit and skip the Advertise and Request steps above
(following standard DHCPv6 procedures). (following standard DHCPv6 procedures).
5. When the assigned addresses are about to expire, the client sends 5. When the assigned addresses are about to expire, the client sends
a Renew message. It includes the preferred SLAP quadrant(s) in a Renew message. It includes the preferred SLAP quadrant(s) in
the new QUAD IA-LL-option, so in case the server is unable to the new QUAD IA_LL-option, so in case the server is unable to
extend the lifetime on the existing address(es), the preferred extend the lifetime on the existing address(es), the preferred
quadrants are known for the allocation of any "new" addresses. quadrants are known for the allocation of any "new" addresses.
6. The server responds with a Reply message, including an LLADDR 6. The server responds with a Reply message, including an LLADDR
option with extended lifetime. option with extended lifetime.
The client SHOULD check if the received MAC address comes from one The client SHOULD check if the received MAC address comes from one of
of the requested quadrants. If not, SHOULD NOT configure the the requested quadrants. Otherwise, the client SHOULD NOT configure
obtained address. It MAY repeat the process selecting a different the obtained address. It MAY repeat the process selecting a
DHCP server. different DHCP server.
4.2. Address Assignment from the SLAP Quadrant Indicated by the Relay 4.2. Address Assignment from the SLAP Quadrant Indicated by the Relay
Next, we describe the protocol operations for a relay to select a Next, we describe the protocol operations for a relay to select a
preferred SLAP quadrant using the DHCPv6 signaling procedures preferred SLAP quadrant using the DHCPv6 signaling procedures
described in [I-D.ietf-dhc-mac-assign]. This is useful when a DHCPv6 described in [I-D.ietf-dhc-mac-assign]. This is useful when a DHCPv6
server is operating over a large infrastructure split in different server is operating over a large infrastructure split in different
network regions, where each region might have different requirements. network regions, where each region might have different requirements.
The signaling flow is shown in Figure 4. The signaling flow is shown in Figure 4.
skipping to change at page 12, line 43 skipping to change at page 12, line 43
4. The relay sends the received Advertise message to the client. 4. The relay sends the received Advertise message to the client.
5. The client waits for available servers to send Advertise 5. The client waits for available servers to send Advertise
responses and picks one server as defined in Section 18.2.9 of responses and picks one server as defined in Section 18.2.9 of
[RFC8415]. The client then sends a Request message that [RFC8415]. The client then sends a Request message that
includes the IA_LL container option with the LLADDR option includes the IA_LL container option with the LLADDR option
copied from the Advertise message sent by the chosen server. copied from the Advertise message sent by the chosen server.
6. The relay forwards the received Request in a Relay-forward 6. The relay forwards the received Request in a Relay-forward
message. It adds in the Relay-forward a QUAD IA-LL-option with message. It adds in the Relay-forward a QUAD IA_LL-option with
the preferred quadrant. the preferred quadrant.
7. Upon reception of the forwarded Request message with IA_LL 7. Upon reception of the forwarded Request message with IA_LL
container option, the server assigns requested addresses. The container option, the server assigns requested addresses. The
server MAY alter the allocation at this time. It then generates server MAY alter the allocation at this time. It then generates
and sends a Reply message, in a Relay-reply back to the relay. and sends a Reply message, in a Relay-reply back to the relay.
8. Upon receiving a Reply message, the client parses the IA_LL 8. Upon receiving a Reply message, the client parses the IA_LL
container option and may start using all provided addresses. container option and may start using all provided addresses.
9. When the assigned addresses are about to expire, the client 9. When the assigned addresses are about to expire, the client
sends a Renew message. sends a Renew message.
10. This message is forwarded by the Relay in a Relay-forward 10. This message is forwarded by the Relay in a Relay-forward
message, including a QUAD IA-LL-option with the preferred message, including a QUAD IA_LL-option with the preferred
quadrant. quadrant.
11. The server responds with a Reply message, including an LLADDR 11. The server responds with a Reply message, including an LLADDR
option with extended lifetime. This message is sent in a Relay- option with extended lifetime. This message is sent in a Relay-
reply message. reply message.
12. The relay sends the Reply message back to the client. 12. The relay sends the Reply message back to the client.
If a client provides a QUAD IA-LL-option and the relay agent is still If a client provides a QUAD IA_LL-option and the relay agent is still
configured to add its preference value, the server SHOULD follow what configured to add its preference value, the server SHOULD follow what
is administratively configured in a QUAD_RELAY_PREF internal is administratively configured in a QUAD_RELAY_PREF internal
variable. If the value is set to 1, then the realy provided variable. If the value is set to 1, then the realy provided
preference overrides what the client has provided, while if the preference overrides what the client has provided, while if the
variable is set to 0, then the client's provided preference is variable is set to 0, then the client's provided preference is
considered. It is RECOMMENDED that QUAD_RELAY_PREF is set to 1 at considered. It is RECOMMENDED that QUAD_RELAY_PREF is set to 1 at
the server. the server.
The client SHOULD check if the received MAC address belongs to a The client MAY check if the received MAC address belongs to a
quadrant it is willing to use/configure. If not, SHOULD NOT quadrant it is willing to use/configure, and MAY decide based on that
configure the obtained address. whether to use configure the received address.
5. DHCPv6 Options Definitions 5. DHCPv6 Options Definitions
5.1. Quad (IA-LL) option 5.1. Quad (IA_LL) option
The QUAD option is used to specify the preferences for the selected The QUAD option is used to specify the preferences for the selected
quadrants within an IA_LL. The option must either be encapsulated in quadrants within an IA_LL. The option must either be encapsulated in
the IA-LL-options field of an IA_LL option or in a Relay-forward the IA_LL-options field of an IA_LL option or in a Relay-forward
message. message.
The format of the QUAD option is: The format of the QUAD option is:
0 1 2 3 0 1 2 3
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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_SLAP_QUAD | option-len | | OPTION_SLAP_QUAD | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| quadrant-1 | pref-1 | quadrant-2 | pref-2 | | quadrant-1 | pref-1 | quadrant-2 | pref-2 |
 End of changes. 14 change blocks. 
27 lines changed or deleted 29 lines changed or added

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