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
|