<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <p><font face="Verdana"><small>HI all,</small></font></p>
    <p><font face="Verdana"><small>I am writing&nbsp; simple dhcpv6 client. I
          gone through the rfc of dhcp and ipv6 and understand basic.
          With the understanding i started to implement SOLICIT request
          option. <br>
          I have created a packet with the below structure.</small></font></p>
    <p><font face="Verdana"><small>struct udp_dhcp6_packet {</small></font></p>
    <p><font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct ip6_hdr ip;</small></font></p>
    <p><font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct udphdr udp;</small></font></p>
    <p><font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct dhcp6_Message data; </small></font></p>
    <p><font face="Verdana"><small>} PACKED;</small></font></p>
    <p><font face="Verdana"><small>In the above structure i am able to
          assign the value for udp and data(i.e struct udphdr, struct
          dhcp6_Message). But i could not able to set the value for ip.
          Below is the structure of ip6_hdr.</small></font></p>
    <p><font face="Verdana"><small>struct ip6_hdr<br>
          &nbsp; {&nbsp;&nbsp;&nbsp; <br>
          &nbsp;&nbsp;&nbsp; union&nbsp;&nbsp; {<br>
        </small></font></p>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; struct ip6_hdrctl</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; uint32_t ip6_un1_flow;&nbsp;&nbsp; /*
        4 bits version, 8 bits TC,</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        20 bits flow-ID */</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint16_t ip6_un1_plen;&nbsp;&nbsp; /*
        payload length */</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint8_t&nbsp; ip6_un1_nxt;&nbsp;&nbsp;&nbsp; /*
        next header */</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint8_t&nbsp; ip6_un1_hlim;&nbsp;&nbsp; /*
        hop limit */</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } ip6_un1;</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint8_t ip6_un2_vfc;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 4
        bits version, top 4 bits tclass */</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } ip6_ctlun;</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp; struct in6_addr ip6_src;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*
        source address */</small></font><br>
    <font face="Verdana"><small>&nbsp;&nbsp;&nbsp; struct in6_addr ip6_dst;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*
        destination address */</small></font><br>
    <font face="Verdana"><small>&nbsp; };</small></font>
    <p><font face="Verdana"><small>I want to set the ip6_dst value as
          ff02::1:2 and the ip6_src address as fe80::220:4aff:fea8:8e4a
          and remaining options. But i dont have any idea how to set
          these values. I googled many times and not able to get the
          idea to creat ipv6 header. </small></font></p>
    <p><font face="Verdana"><small>Kindly help me to solve my problem?</small></font></p>
    <p><font face="Verdana"><small>Note :</small></font></p>
    <p><font face="Verdana"><small>I don't know whether this is right
          place to ask this question . If i am wrong , i am sorry.</small></font></p>
    <p><font face="Verdana"><small>Thanks in advance ,<br>
        </small></font></p>
    <p><font face="Verdana"><small><br>
          Prabhu</small></font></p>
  </body>
</html>