<div dir="ltr">2013/5/14 Vlad Dogaru <span dir="ltr"><<a href="mailto:ddvlad@herebedragons.ro" target="_blank">ddvlad@herebedragons.ro</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 class="im">On 5/14/2013 6:50 PM, Dan Filimon wrote:<br>
> Deci, .func-ul e responsabil pentru apelul sock_queue_rcv_skb() care să<br>
> pună pachetul în coada socket-ului care trebuie. Singurul apel de<br>
> sock_queue_rcv_skb() în af.packet e la [2], în packet_rcv_skb, care un<br>
> .func.<br>
><br>
> stp_recv e func-ul în ce-ai descris, right?<br>
<br>
</div>Da.<br>
<div class="im"><br>
> Pe urmă stp_recvmsg (altă funcție!) care e din proto_ops va lua mesajul<br>
> din coadă și-l copiază într-un iovec și-l trimite mai sus.<br>
<br>
</div>Da. stp_recvmsg() e unde se ajunge când din userspace se cheamă recvmsg<br>
(sau read) pe un socket de tip AF_STP.<br>
<div class="im"><br>
> [1] <a href="http://lxr.linux.no/linux+v3.7.8/net/packet/af_packet.c#L232" target="_blank">http://lxr.linux.no/linux+v3.7.8/net/packet/af_packet.c#L232</a><br>
> [2] <a href="http://lxr.linux.no/linux+v3.7.8/net/packet/af_packet.c#L1328" target="_blank">http://lxr.linux.no/linux+v3.7.8/net/packet/af_packet.c#L1328</a><br>
<br>
</div>Scuze pentru întârziere, sper să fie măcar vag relevant.</blockquote><div><br></div><div style>Mulțumesc de ajutor! Rezolvasem deja, dar apreciez! :) </div></div><br></div></div>