netdev
[Top] [All Lists]

Re: skb->dst->output and ip_send()

To: "James R. Leu" <jleu@xxxxxxxxxxxxxx>
Subject: Re: skb->dst->output and ip_send()
From: jamal <hadi@xxxxxxxxxx>
Date: Mon, 28 Aug 2000 08:36:55 -0400 (EDT)
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20000827133921.C32642@xxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx

On Sun, 27 Aug 2000, James R. Leu wrote:

> Correct, and the IP fragmentation calculation is done in ip_send().  But
> instead of it refering to dst->output() (which in LER mode is set to
> mpls_output()) it refers to ip_finish_output().  So I had to modify 
> ip_finish_output() to recognize skb's that need to be redirected to 
> mpls_output().
> 
> > All outgoing packets use dst->output() i.e no deviation.
> > What are you trying to do? I think your code works fine (although its been
> > a while since i'd seen it)
> 
> The "fix" I have made is to set dst->output() to ip_finish_output()
> in ip_route_input_slow().  Then changed ip_send() to refer to dst->output().
> So far it works well for normal IP forwarding and MPLS LER forwarding.
> Unfortunaly I don't know how this will affect the other features of the IP
> stack.
> 

Why dont you post the patch/fix? Hopefully, other people can make comments
then. From looking at the above, it seems to me infact you totaly avoided
fragmentation by changing ip_send() ;->
The real clean way for you to do it, and conforming to the current
"tradition", is to have a dst->input() as well as an output() i.e not
having both of them pointing to mpls_output(); however, that is a lot of
code replication and reason why the little dirty hacks might be
acceptable. 

cheers,
jamal


<Prev in Thread] Current Thread [Next in Thread>