netdev
[Top] [All Lists]

analysing ip_rcv code problems

To: net dev <netdev@xxxxxxxxxxx>
Subject: analysing ip_rcv code problems
From: cranium2003 <cranium2003@xxxxxxxxx>
Date: Fri, 10 Dec 2004 01:55:57 -0800 (PST)
Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; b=O6d3t0K4Kgz2iorv7yAy3ChKzsNk1o8OvZWj8DFwsT0L6eqv6iosHvNDlytjV2ICTtzUT47MfGJ4b/v5eNt7Louj+HyXkkiGmRio0liHbR3GaKDa71kDCa8a0i2qJn5SNq30HPbyUdkwfq3lHpHkgZCkcaigAbk1uFZucAVO1/0= ;
Sender: netdev-bounce@xxxxxxxxxxx
hello,
                I know that in kernel 2.4 series,
function used to receive IP packets is ip_rcv. But i
am not getting where exactly IP header is removed that
is following lines from function ip_rcv can be used to
remove IP header                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                              if (!pskb_may_pull(skb,
sizeof(struct iphdr)))                                
                                                    
goto inhdr_error;                                     
                                                      
      iph = skb->nh.iph;                              
                                                      
                                                      
                                                      
                          ...                         
                                                      
                                        ...           
                                                      
                                                     
...                                                   
                                                      
              ...                                     
                                                      
                                             and also
following lines from same kernel is used to remove
header as IP
header length is 20 bytes then which function actually
does IP header removal.                               
                      if (!pskb_may_pull(skb,
iph->ihl*4))                                          
                                                    
goto inhdr_error;                                     
                                                      
                                                      
                                                      
                    iph = skb->nh.iph;                
                                                      
                                                      
                                                      
                                                      
Also why iph = skb->nh.iph statement is used twice in
function code ip_rcv.                                 
                                                      
                                                      
              regards,                                
                                                      
                            cranium.


                
__________________________________ 
Do you Yahoo!? 
Send holiday email and support a worthy cause. Do good. 
http://celebrity.mail.yahoo.com

<Prev in Thread] Current Thread [Next in Thread>
  • analysing ip_rcv code problems, cranium2003 <=