diff --git a/doc/DHCPv6_relay/DHCPv6-relay-agent-High-Level-Design.md b/doc/DHCPv6_relay/DHCPv6-relay-agent-High-Level-Design.md index 6525ae50e3e..126a26dd99b 100644 --- a/doc/DHCPv6_relay/DHCPv6-relay-agent-High-Level-Design.md +++ b/doc/DHCPv6_relay/DHCPv6-relay-agent-High-Level-Design.md @@ -19,12 +19,15 @@ - [CONFIG DB schema](#config-db-schema) - [YANG Model schema](#yang-model-schema) - [Option 79 for client link-layer address](#option-79-for-client-link-layer-address) + - [Option 18 for Interface-ID](#option-18-for-interface-id) + - [Config Update](#config-update) - [Option for Dual ToR](#option-for-dual-tor) - [Feature table](#feature-table) - [RADV modification](#radv-modification) - [CoPP manager](#copp-manager) - [Source IP](#source-ip) * [Performance](#performance) +* [Scalability](#scalability) * [Testing](#testing) # Scope @@ -166,33 +169,138 @@ RELAY-REPLY DHCP|intf-i|dhcpv6_servers: ["dhcp-server-0", "dhcp-server-1", ...., "dhcp-server-n-1"] DHCP|intf-i|dhcpv6_option|rfc6939_support: "true" + +DHCP|intf-i|dhcpv6_option|interface_id: "true" + + +
+{
+ "DHCP_RELAY" :{
+ "Vlan100" : {
+ "dhcpv6_servers" : ["fc02:2000::2"]
+ "dhcpv6_option|rfc6939_support" : "true"
+ "dhcpv6_option|interface_id" : "true"
+ }
+ }
+}
# YANG Model schema
sonic-dhcpv6-relay.yang
-module DHCP
- container DHCP {
- list VLAN_LIST {
- key name;
- leaf name {
- type string;
- }
- leaf dhcpv6_servers {
- type inet6:ip-address;
- }
- leaf dhcpv6_option|rfc6939_support {
- type bool;
- }
+module sonic-dhcpv6-relay {
+
+ namespace "http://github.com/Azure/sonic-dhcpv6-relay";
+
+ prefix sdhcpv6relay;
+
+ yang-version 1.1;
+
+ import ietf-inet-types {
+ prefix inet;
+ }
+
+ organization "SONiC";
+
+ contact "SONiC";
+
+ description "DHCPv6 Relay yang Module for SONiC OS";
+
+ revision 2021-10-30 {
+ description "First Revision";
+ }
+
+ container sonic-dhcpv6-relay {
+
+ container DHCP_RELAY {
+
+ description "DHCP_RELAY part of config_db.json";
+
+ list DHCP_RELAY_LIST {
+
+ key "name";
+
+ leaf name {
+ type string;
+ }
+
+ leaf-list dhcpv6_servers {
+ description "Configure the dhcpv6 servers";
+ type inet:ipv6-address;
}
+
+ leaf dhcpv6_option|rfc6939_support {
+ description "Set rfc6939 for the relay";
+ type bool;
+ }
+
+ leaf dhcpv6_option|interface_id {
+ description "Set interface-id for the relay";
+ type bool;
+ }
}
+ }
}
# Option 79 for client link-layer address
-Option 79 should be enabled by default and can be disabled through command line.
+Option 79 should be enabled by default and can be disabled through editing config_db.json and reapplying configuration or config database directly by the following commands:
+
+Usage:
+```
+redis-cli -n 4 hset DHCP_RELAY|