This shows you the differences between two versions of the page.
so2:laboratoare:lab10:exercitii [2018/05/07 11:12] ovidiu.nitu [4. [2p] Acceptarea unei conexiuni în kernel space] |
so2:laboratoare:lab10:exercitii [2019/04/23 23:03] (current) constantin.ghioc [4. [2p] Acceptarea unei conexiuni în kernel space] |
||
---|---|---|---|
Line 186: | Line 186: | ||
Extindeți modulul de la exercițiul anterior pentru a permite acceptarea unei conexiuni din exterior (nu trebuie transmis mesaj, doar acceptată o nouă conexiune). Trebuie completate zonele marcate cu ''TODO 2''. | Extindeți modulul de la exercițiul anterior pentru a permite acceptarea unei conexiuni din exterior (nu trebuie transmis mesaj, doar acceptată o nouă conexiune). Trebuie completate zonele marcate cu ''TODO 2''. | ||
- | Parcurgeți secțiunile [[:so2:laboratoare:lab10#operatii_asupra_structurii_socket|Operații asupra structurii socket]] și [[:so2:laboratoare:lab10#structura_proto_ops|Structura proto_ops]] din laborator. Pentru echivalentul ''accept'' în kernel-space, consultați handler-ul de apel de sistem [[http://lxr.free-electrons.com/source/net/socket.c?v=4.9#L1418|sys_accept4]]. Urmăriți în implementarea [[https://elixir.bootlin.com/linux/v4.15/source/drivers/staging/lustre/lnet/lnet/lib-socket.c#L513|lnet_sock_accept]] cum este folosit apelul ''%%sock->ops->accept%%''. Folosiți ''0'' ca valoarea pentru ultimul argument (''flags''). | + | Parcurgeți secțiunile [[:so2:laboratoare:lab10#operatii_asupra_structurii_socket|Operații asupra structurii socket]] și [[:so2:laboratoare:lab10#structura_proto_ops|Structura proto_ops]] din laborator. Pentru echivalentul ''accept'' în kernel-space, consultați handler-ul de apel de sistem [[http://lxr.free-electrons.com/source/net/socket.c?v=4.15#L1553|sys_accept4]]. Urmăriți în implementarea [[https://elixir.bootlin.com/linux/v4.15/source/drivers/staging/lustre/lnet/lnet/lib-socket.c#L513|lnet_sock_accept]] cum este folosit apelul ''%%sock->ops->accept%%''. Folosiți ''0'' ca valoarea pentru penultimul argument (''flags'') și ''false'' pentru ultimul argument (''kern''). |
<note tip> | <note tip> | ||
Line 249: | Line 249: | ||
+ rmmod udp_sock | + rmmod udp_sock | ||
+ kill 1059 | + kill 1059 | ||
- | punt! | ||
</code> | </code> | ||
- | Mesajul ''punt!'' afișat în urma rulării testului ''test-5.sh'' este un mesaj afișat de utilitarul ''netcat'' în momentul în care procesul este oprit de rularea comenzii ''kill'' în cadrul scriptului. | ||
</note> | </note> | ||