<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
<font class="Apple-style-span" face="Tahoma" size="2"><div><font class="Apple-style-span" face="Tahoma" size="2">This bug is in all version of libnl. The library&nbsp;</font><span class="Apple-style-span" style="font-size: 13px; ">does not set the ndm_flags so commands like adding a proxy arp entry fail</span></div><div><span class="Apple-style-span" style="font-size: 13px; "><br></span></div>lib/route/neigh.c</font><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div style="font-family: Tahoma; font-size: 10pt; ">/* Fix */</div><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div><div><font class="Apple-style-span" face="Tahoma" size="2">static struct nl_msg * build_neigh_msg(struct rtnl_neigh *tmpl, int cmd,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int flags)</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">{</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; struct nl_msg *msg;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; struct ndmsg nhdr = {</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; .ndm_ifindex = tmpl-&gt;n_ifindex,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; .ndm_family = nl_addr_get_family(tmpl-&gt;n_dst),</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; .ndm_flags = 0,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; .ndm_state = NUD_PERMANENT,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; };</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; if (tmpl-&gt;ce_mask &amp; NEIGH_ATTR_FLAGS)</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; nhdr.ndm_flags = tmpl-&gt;n_flags;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; if (tmpl-&gt;ce_mask &amp; NEIGH_ATTR_STATE)</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp; &nbsp; nhdr.ndm_state = tmpl-&gt;n_state;</font></div></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">/* Original */</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><div>static struct nl_msg * build_neigh_msg(struct rtnl_neigh *tmpl, int cmd,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int flags)</div><div>{</div><div>&nbsp; struct nl_msg *msg;</div><div>&nbsp; struct ndmsg nhdr = {</div><div>&nbsp; &nbsp; .ndm_ifindex = tmpl-&gt;n_ifindex,</div><div>&nbsp; &nbsp; .ndm_family = nl_addr_get_family(tmpl-&gt;n_dst),</div><div>&nbsp; &nbsp; .ndm_state = NUD_PERMANENT,</div><div>&nbsp; };</div><div><br></div><div>&nbsp; if (tmpl-&gt;ce_mask &amp; NEIGH_ATTR_STATE)</div><div>&nbsp; &nbsp; nhdr.ndm_state = tmpl-&gt;n_state;</div><div><br></div></font></div><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div style="font-family: Tahoma; font-size: 10pt; "><br></div>                                               </body>
</html>