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 6525ae50e3..126a26dd99 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|