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