// // Copyright (C) 2003, 2004, 2005 Yokogawa Electric Corporation, // INTAP(Interoperability Technology Association // for Information Processing, Japan). All rights reserved. // // Redistribution and use of this software in source and binary forms, with // or without modification, are permitted provided that the following // conditions and disclaimer are agreed and accepted by the user: // // 1. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // // 3. Neither the names of the copyrighters, the name of the project which // is related to this software (hereinafter referred to as "project") nor // the names of the contributors may be used to endorse or promote products // derived from this software without specific prior written permission. // // 4. No merchantable use may be permitted without prior written // notification to the copyrighters. However, using this software for the // purpose of testing or evaluating any products including merchantable // products may be permitted without any notification to the copyrighters. // // // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND // CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING // BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS // FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE // COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF // THE POSSIBILITY OF SUCH DAMAGE. // // $TAHI: ct/pd/RRAdvertisedPreference.def,v 1.3 2003/04/22 04:09:18 akisada Exp $ // // Please comment out below, if you want to test for draft-troan-dhcpv6-opt-prefix-delegation-01.txt //#define PD_DRAFT_VERSION TROAN #include "./type.def" #include "./pd_common.def" //====================================================================== // // DHCPv6 Adv Msg // //////////////////////////////// #if (PD_DRAFT_VERSION == TROAN) /* draft-troan-dhcpv6-opt-prefix-delegation-01.txt */ FEM_dhcp6_advertise( dhcp_adv_pref1, _HETHER_tn2nut_count, { _SRC(v6ether(TNMACADDR)); _DST(nutv6()); }, { _SPORT(SERVER_RELAY_DHCP_PORT); _DPORT(CLIENT_DHCP_PORT); }, { Identifier = DHCP_ID; option = opt_cid; option = opt_sid; option = opt_pref_200; } ) FEM_dhcp6_advertise( dhcp_adv_pref2, _HETHER_other2nut, { _SRC(v6ether(TNMACADDR1)); _DST(nutv6()); }, { _SPORT(SERVER_RELAY_DHCP_PORT); _DPORT(CLIENT_DHCP_PORT); }, { Identifier = DHCP_ID; option = opt_cid; option = opt_sid_other; option = opt_pref_100; } ) FEM_dhcp6_advertise( dhcp_adv_pref3, _HETHER_other12nut, { _SRC(v6ether(TNMACADDR2)); _DST(nutv6()); }, { _SPORT(SERVER_RELAY_DHCP_PORT); _DPORT(CLIENT_DHCP_PORT); }, { Identifier = DHCP_ID; option = opt_cid; option = opt_sid_other1; option = opt_pref_1; } ) #endif // // DHCPv6 Request Msg // //////////////////////////////// #if (PD_DRAFT_VERSION == TROAN) /* draft-troan-dhcpv6-opt-prefix-delegation-01.txt */ FEM_dhcp6_request( dhcp_req_other, _HETHER_nut2alldhcpagents, { _SRC(nutv6()); _DST(v6(_ALLDHCPAGENTS_MCAST_ADDR)); }, { _SPORT(any); _DPORT(SERVER_RELAY_DHCP_PORT); }, { Identifier = any; option = comb (opt_cid, opt_sid_other, opt_or_any); } ) FEM_dhcp6_request( dhcp_req_any_other, _HETHER_nut2alldhcpagents, { _SRC(nutv6()); _DST(v6(_ALLDHCPAGENTS_MCAST_ADDR)); }, { _SPORT(any); _DPORT(SERVER_RELAY_DHCP_PORT); }, { Identifier = any; option = comb (opt_cid, opt_sid_other, opt_or_any, opt_pd_troan_req); } ) #endif