<div dir="ltr">2013/5/13 Dan Filimon <span dir="ltr"><<a href="mailto:dangeorge.filimon@gmail.com" target="_blank">dangeorge.filimon@gmail.com</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Citind tema și aruncând un ochi pe capitolele recomandate din Understanding Linux Kernel Networking și puțin prin codul UDP am câteva întrebări:<div><br></div><div>- bind: poate să existe cazul în care un socket ascultă pe o interfață pe orice port? cazurile în care ascultă pe un port de pe o interfață și un port pe orice interfață există.</div>
<div><br></div><div>- sendmsg/receivemsg: nu mi-e clar modul în care trimit și primesc mesaje.</div><div><br></div><div>Spre exemplu, sendmsg, a cărui sursă pentru UDP este [1].</div><div>E o funcție lungă și nu sunt lămurit cum anume trimite datele mai jos. La final apelează udp_push_pending_frames [2] unde se apelează ip_push_pending_frames [3] care apelează ip_local_out și pe urmă ajunge în netfilter la hook-ul NF_INET_LOCAL_OUT.</div>
<div>Bănuiesc că prin netfilter ajunge datele mai jos la nivelul legătură de date.</div><div><br></div><div>Sunt deci, remarcabil de nelămurit cum ar trebui trimise sau primite pachetele din acele surse... :/</div>
<div>Cred că nu mă uit unde trebuie.</div></div></blockquote><div><br></div><div style>Never mind, nu mă uitam unde trebuie. Trebuia să mă uit la implementarea PF_PACKET. </div><div style> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>[1] <a href="http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L772" target="_blank">http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L772</a><br></div><div>
[2] <a href="http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L709" target="_blank">http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L709</a></div><div>[3] <a href="http://lxr.linux.no/linux+v2.6.38/net/ipv4/ip_output.c#L1244" target="_blank">http://lxr.linux.no/linux+v2.6.38/net/ipv4/ip_output.c#L1244</a></div>
</div>
</blockquote></div><br></div></div>