[so2] [Tema 5] sendmsg, receivemsg si bind

Dan Filimon dangeorge.filimon at gmail.com
Mon May 13 16:16:25 EEST 2013


2013/5/13 Dan Filimon <dangeorge.filimon at gmail.com>

> 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:
>
> - 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ă.
>
> - sendmsg/receivemsg: nu mi-e clar modul în care trimit și primesc mesaje.
>
> Spre exemplu, sendmsg, a cărui sursă pentru UDP este [1].
> 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.
> Bănuiesc că prin netfilter ajunge datele mai jos la nivelul legătură de
> date.
>
> Sunt deci, remarcabil de nelămurit cum ar trebui trimise sau primite
> pachetele din acele surse... :/
> Cred că nu mă uit unde trebuie.
>

Never mind, nu mă uitam unde trebuie. Trebuia să mă uit la implementarea
PF_PACKET.


> [1] http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L772
> [2] http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L709
> [3] http://lxr.linux.no/linux+v2.6.38/net/ipv4/ip_output.c#L1244
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20130513/8015fcaa/attachment-0001.html>


More information about the so2 mailing list