[so2] [Tema 5] Pasi pentru sendmsg

Dan Filimon dangeorge.filimon at gmail.com
Tue May 14 15:12:17 EEST 2013


2013/5/14 Vlad Dogaru <ddvlad at herebedragons.ro>

> On Tue, May 14, 2013 at 01:45:21PM +0300, Dan Filimon wrote:
> > Un ultim lucru, dimensiunea header-ului Ethernet o pun 14 octeți și ignor
> > strategic trailer-ul?
> > Sau, fac ca în af_packet și iau headerul cu LL_RESERVED_SPACE și
> trailerul
> > cu dev->needed_tailroom.
>
> Varianta a doua sună mai bine.  Tailroom-ul oricum nu e nevoie să îl iei
> în calcul decât la alocarea skb-ului.
>

Am făcut așa și observ că LL_RESERVED_SPACE întoarce 16 octeți dar după ce
scriu efectiv offset-ul întors de dev_hard_header e 14 octeți.
N-ar fi asta o tragedie, dar acum, deși testul îmi trece, aș vrea să afișez
mesajul copiat. Am făcut:
printk(KERN_ALERT "%s\n", skb->data + ehlen + shlen);

Unde ehlen e lungimea headerului Ethernet (14 octeți) și shlen e lungimea
header-ului STP (8 octeți). Dar, asta-mi afișează garbage.
De ce? Doar nu poate fi o chestie de endianness, fiindcă ăștia sunt octeți.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20130514/24fff417/attachment.html>


More information about the so2 mailing list