Commit d1ba72f2 authored by tepelmann's avatar tepelmann
Browse files

Added RFC3646 - DNS Configuration options.

parent 02bfb306
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -15,8 +15,9 @@
  //LibIpv6
  import from LibIpv6_Interface_TypesAndValues all;
  import from LibIpv6_CommonRfcs_TypesAndValues all;
  import from LibIpv6_Rfc6334Dhcp_TypesAndValues all;
  import from LibIpv6_Rfc3315Dhcp_TypesAndValues all;
  import from LibIpv6_Rfc3646Dhcp_TypesAndValues all;
  import from LibIpv6_Rfc6334Dhcp_TypesAndValues all;

  group dhcpConstants {
    
@@ -108,6 +109,7 @@
     * @desc Collection of options defined in several RFCs.
     */
    type union DHCPv6Option {
      //RFC 3315
      ClientIdentifierOption    clientIdentifer,
      ServerIdentifierOption    serverIdentifier,
      IA_NAOption               ia_na,
@@ -127,7 +129,12 @@
      InterfaceIdOption         interfaceId,
      ReconfigureMsgOption      reconfigure,
      ReconfigureAcceptOption   reconfigureAccept,
      //RFC 3646
      DnsRecursiveNameOption    dnsRecursiveName,
      DomainSearchListOption    domainSearchList,
      //RFC 3596
      AFTRNameOption            aftrName,
      //others
      DHCPv6OptionRaw           raw
    }
    
@@ -159,6 +166,8 @@
      e_OPTION_INTERFACE_ID (18),
      e_OPTION_RECONF_MSG (19),
      e_OPTION_RECONF_ACCEPT (20),
      e_OPTION_DNS_SERVERS (23),
      e_OPTION_DOMAIN_LIST (24),
      e_OPTION_AFTR_NAME (64),
      e_OPTION_UNKNOWN
    } 
@@ -190,6 +199,7 @@
     */
    type charstring DomainName;
    
    type set of DomainName DomainNameList;
  } //end group auxilary
  
} // end LibIpv6_CommonRfcsDhcp_TypesAndValues
+42 −0
Original line number Diff line number Diff line
/**
 *  @author   STF 440
 *  @version   $Id$
 *  @desc     This module defines RFC3646 specific DHCPv6 definitions.
 *              DHCPv6 structures have been defined on the basis of RFC 3646
 *  @url        http://www.ietf.org/rfc/rfc3646.txt
 *  
 */
 module LibIpv6_Rfc3646Dhcp_TypesAndValues {
  
  //LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;
  //LibIpv6
  import from LibIpv6_CommonRfcs_TypesAndValues all;
  import from LibIpv6_CommonRfcsDhcp_TypesAndValues all;

  group dhcpOptions {
    
    /**
     * @desc DNS Recursive Name Server
     * @reference https://tools.ietf.org/html/rfc3646 cl.3
     */
    type record DnsRecursiveNameOption {
      OptionCode        optionCode(e_OPTION_DNS_SERVERS),
      UInt16            optionLen,
      Ipv6AddressList   dnsRecursiveNameServerList
    }
    
    /**
     * @desc Domain Search List
     * @reference https://tools.ietf.org/html/rfc3646 cl.4
     */
    type record DomainSearchListOption {
      OptionCode        optionCode(e_OPTION_DOMAIN_LIST),
      UInt16            optionLen,
      DomainNameList    searchList
    }
    
  } //end group dhcpOptions
  
} // end LibIpv6_Rfc3646Dhcp_TypesAndValues