Re: dev.c - how can i get IPheader's ID without skb->nh.iph->id which fails here

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Adam,
try
struct iphdr *iph skb->data[SKB_IPH_OFFSET]
where,
#if WORKING_ON_2ND_LAYER
#define SKB_IPH_OFFSET  LOWER_LAYER_HEADER_LENGTH
#else
#define SKB_IPH_OFFSET  0
Usually LOWER_LAYER_HEADER_LENGTH = 14 if you using ethernet as underlying
transmission media.
Hope this helps,
-- Sumit

----- Original Message -----
From: "Eble, Dan" <DanE@aiinet.com>
Sent: Monday, July 21, 2003 8:25 PM


> > -----Original Message-----
> > From: Adam Flizikowski [mailto:adam_fli@poczta.onet.pl]
> >
> > So how can i get this "id" field aletrnatively (without calling
> > skb-?nh.iph->id) ????
>
> You can not access the IP header this way until something has set the
> pointer.  The device driver calling netif_rx() has no idea about IP, so it
> does not set the pointer.  For all you know, the packet may not be IP, but
> something completely different (IT'S...).  Either examine the packet
*after*
> the IP protocol handler has processed it and set the pointer, or parse
> skb->data yourself to find the IP information (blah!).

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux