tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: MPLS patches

David Young wrote:
Why is there MPLS code in ip_output.c?  I don't think that it belongs.
IP input/output routines are complicated enough as it is.  ISTM, MPLS
should look to IP like any other link-layer.


Well, I need to check if the destination family is AF_MPLS and prepend shim in this case. Am I missing something ?

Is it strictly necessary to wrap the #includes in an #ifdef like this?

+#ifdef MPLS
+#include <netmpls/mpls.h>
+#include <netmpls/mpls_var.h>
+#endif /* MPLS */

I don't know. Is the #include part only that is disturbing ? I've seen the same syntax is used for {FAST_}IPSEC case.

Also, in ip_output.c, is this really right?

- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
+ * Copyright (C) 1995 - 2001 AYAME Project, WIDE Project.

No, there is a whole licensing mess that I will fix before anything else.

It is not very desirable for MPLS to disable fast-forwarding.  Why is
it necessary?

-#if defined(IPSEC)
-       /* ipflow (IP fast forwarding) is not compatible with IPsec. */
+#if defined(IPSEC) || defined(MPLS)
+       /* ipflow (IP fast forwarding) is not compatible with IPsec nor MPLS. */
        m->m_flags &= ~M_CANFASTFWD;

I wanted output to be done via ip_output() for the above reasons.



Home | Main Index | Thread Index | Old Index