<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 2, 2013 at 1:30 AM, Kristian Evensen <span dir="ltr">&lt;<a href="mailto:kristian.evensen@gmail.com" target="_blank">kristian.evensen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">On Sun, Sep 1, 2013 at 3:16 PM, Greg Freemyer &lt;<a href="mailto:greg.freemyer@gmail.com">greg.freemyer@gmail.com</a>&gt; wrote:<br>

&gt;<br>
&gt;<br>
&gt; Kevin Wilson &lt;<a href="mailto:wkevils@gmail.com">wkevils@gmail.com</a>&gt; wrote:<br>
&gt;&gt;Hi,<br>
&gt;&gt;Can someone please explain why are netlink sockets a better<br>
&gt;&gt;communication method between kernel space and userspace ?<br>
&gt;&gt;<br>
<br>
</div>Another reason is to make things easier to extend. Adding a parameter<br>
to a netlink message is as easy as adding an additional netlink<br>
attribute. User space applications that has not been updated to<br>
support your change, will not see this parameter as it is unknown to<br>
them when processing the attributes. Extending an ioctl would mean<br>
adding new paramteres to the struct that is passed to/from the kernel,<br>
which will cause all kinds of problems. For example, how to avoid<br>
overflows when returning it to user space.<br>
<span class=""><font color="#888888"><br>
-Kristian<br>
</font></span><div class=""><div class="h5"><br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</div></div></blockquote></div><br></div><div class="gmail_extra">Hi,<br><br></div><div class="gmail_extra">This should give you a lot of insight <a href="http://people.ee.ethz.ch/~arkeller/linux/kernel_user_space_howto.html">http://people.ee.ethz.ch/~arkeller/linux/kernel_user_space_howto.html</a><br>
<br>- Rohan<br></div></div>