Re: Question about ipip implementation

2001-05-16 Thread Olaf Titz
> Well, I understand that ipip_rcv does some work cleaning sk_buff. > But why after that sk_buff cannot be submitted to ip_rcv, not > netif_rx? Oops, now I see that you're talking about ip_rcv, not netif_rx... I'm doing roughly what you're proposing in CIPE (get IP packet encapsulated in UDP pac

Re: Question about ipip implementation

2001-05-15 Thread Olaf Titz
> Yes, I was wrong. But is it possible in similar situation just call > ip_rcv for the sk_buff? What does "just call" mean? The additional setup done by the ipip receiver is the minimum necessary to get the various parameters in the sk_buff in a clean state (things like making sure all header poi

Re: Question about ipip implementation

2001-05-14 Thread Alexey Vyskubov
> > I read net/ipv4/ipip.c. It seems to me that ipip_rcv() function after > > "unwrapping" tunelled IP packet creates "virtual Ethernet header" and submit > > Does it? ipip_rcv() does this: [SKIP] > netif_rx(skb); > > The packet as submitted starts with the IP header and the skb

Re: Question about ipip implementation

2001-05-13 Thread Olaf Titz
> I read net/ipv4/ipip.c. It seems to me that ipip_rcv() function after > "unwrapping" tunelled IP packet creates "virtual Ethernet header" and submit Does it? ipip_rcv() does this: iph = skb->nh.iph; skb->mac.raw = skb->nh.raw; i.e. the "MAC header" pointer of the packet is the

Re: Question about ipip implementation

2001-05-12 Thread Andi Kleen
On Fri, May 11, 2001 at 05:39:40PM +0300, Alexey Vyskubov wrote: > Hello! > > I read net/ipv4/ipip.c. It seems to me that ipip_rcv() function after > "unwrapping" tunelled IP packet creates "virtual Ethernet header" and submit > corresponding sk_buff to netif_rx(). > > Is there a some reason to

Question about ipip implementation

2001-05-11 Thread Alexey Vyskubov
Hello! I read net/ipv4/ipip.c. It seems to me that ipip_rcv() function after "unwrapping" tunelled IP packet creates "virtual Ethernet header" and submit corresponding sk_buff to netif_rx(). Is there a some reason to do things this way instead of calling ip_rcv() for "unwrapped" IP packet? --