In hopes to get this MPLS effort 'unstuck from the mud' I've decided to
start the path of getting some of the infrastructure needed for MPLS
reviewed by the powers that be. I hope DaveM and Jamal are still reading
this list, because they are probably the first hurdle I need to cross.
This patch introduces the network shim infrastructure. It is designed
for protocols that live below layer 3 but above layer 2 in the OSI model.
This is exactly where MPLS lives. I believe this infrastructure could also
be used by IPSEC for route base VPNs without using tunnels.
The guts of the patch are the 'shim live cycle', but it also
adds a new 'family' to netlink, RTM_*SHIM, and adds some the necessary
hooks to ipv4 and ipv6.
<aside>
I have tried using the XFRM infrastructure, but the problem I continue
to run into is it's apparent lack of ties to routing entries. For example
if I want traffic destined to 10.0.0.0/8 to go through a specific XFRM
I can do that, but if at the same time I don't want 10.0.1.0/24 to use
any XFRM, this is where I am unable to get XFRM to do my bidding.
I tried adding per-route XFRMs but it looks like the dst stacking is in
the wrong order for what I need .... I digress
</aside>
Please look this over and let me know if there are any glaring
kernel no-no's. I still have commenting and documentation to do,
but the actual infrastructure is complete. Of course I've implemented
MPLS to use this, but we'll tackle that after we get the needed infrastructure
into the kernel.
Patch attached
--
James R. Leu
jl...@mi...
|