analysing ip_rcv code problems

From: cranium2003 <hidden>
Date: 2004-12-10 09:55:57

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help