<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Trebuchet MS";
        panose-1:2 11 6 3 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Trebuchet MS","sans-serif";
        color:#17365D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>I have written a sample code to modify the link-local address of an Ethernet interface.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>The code snippet is &#8211; <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; while(1) {<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;\n1.Add Link Local\n2.Modify LinkLocal\n&#8221;);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf(&quot;%d&quot;, &amp;ch);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(ch) {<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add_linklocaladdr(fd, NLM_F_CREATE|NLM_F_EXCL);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 2:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add_linklocaladdr(fd, NLM_F_REPLACE);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p><p class=MsoNormal style='text-indent:.5in'><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'> -------------<o:p></o:p></span></p><p class=MsoNormal style='text-indent:.5in'><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'> -------------<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>void add_linklocaladdr(int fd, int flags)) {<o:p></o:p></span></p><p class=MsoNormal style='text-indent:.5in'><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>-------------<o:p></o:p></span></p><p class=MsoNormal style='text-indent:.5in'><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'> -------------<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; nlh = (struct nlmsghdr *)buf;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; len = MSG_ALIGN(sizeof(struct nlmsghdr));<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; nlh-&gt;nlmsg_len&nbsp;&nbsp; = len;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; nlh-&gt;nlmsg_type&nbsp; = RTM_NEWADDR;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; nlh-&gt;nlmsg_flags = NLM_F_REQUEST | flag;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; nlh-&gt;nlmsg_seq = 1;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; ifadr = nlmsg_put_extra_header(nlh, sizeof(struct ifaddrmsg));<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; ifadr-&gt;ifa_family&nbsp;&nbsp;&nbsp; = AF_INET6;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; ifadr-&gt;ifa_prefixlen = 0x40 ; /*hardcoded*/<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; ifadr-&gt;ifa_flags&nbsp;&nbsp;&nbsp;&nbsp; = IFA_F_PERMANENT;;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; ifadr-&gt;ifa_scope&nbsp;&nbsp;&nbsp;&nbsp; = RT_SCOPE_HOST;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; ifadr-&gt;ifa_index&nbsp;&nbsp;&nbsp;&nbsp; = 2;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; /*Push &#8216;struct nlattr&#8217; */<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>&nbsp;&nbsp;&nbsp; attr_put(nlh, IFA_ADDRESS, dst);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>When I execute case 1 (add link-local), a new ipv6 ip is getting added.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>I want to modify an existing link local address in case2, but it&#8217;s not working.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'>Can anybody help me correcting this code for case2.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#17365D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#002060'>Thanks &amp; Regards<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Trebuchet MS","sans-serif";color:#002060'>Murali Annamneni</span><span style='color:#17365D'><o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: gray; FONT-SIZE: 7.5pt; mso-fareast-font-family: 'Times New Roman'">
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><br><br><font style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: gray; FONT-SIZE: 9px">::DISCLAIMER::<br>----------------------------------------------------------------------------------------------------------------------------------------------------</font></P>
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><font style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: gray; FONT-SIZE: 11px">The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only.<br>E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted, <br>lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents <br>(with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates. <br>Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the <br>views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, <br>distribution and / or publication of this message without the prior written consent of authorized representative of <br>HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. <br>Before opening any email and/or attachments, please check them for viruses and other defects.</font></P>
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><font style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: gray; FONT-SIZE: 11px">----------------------------------------------------------------------------------------------------------------------------------------------------</font></span></P></body></html>