Ethereal-dev: Re: [Ethereal-dev] in need of an idea to support l2 tunneling over mpls

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Aamer Akhter" <aakhter@xxxxxxxxx>
Date: Sun, 17 Mar 2002 22:13:11 -0500
that particular code snippet was just to prove to me that it did work. i guess
i'll make the changes for the short term and submit them. better than nothing
for now. ;-)

> What would specify that "something" for MPLS?

the "something" would be the label--with context. but there can be many labels
in a particular capture, each representing a unique lsp. worse, once the
labels are stacked it's not possible to tell anymore what the packet means
just by looking at one label. as the labels are allocated per node and may be
distributed differently per neighbor, one has to keep the layer 2 src-dst in
mind too.

my idea was to allow the user to pick a specific label stack and layer2
destination address (by picking the packet). and declare that it was of
{EoMPLS, FRoMPLS, IP, ATMoMPLS, etc} type . For UTI, this would have to be the
src-dst IP and the tunnel id. The only framework that currently seems to allow
that in ethereal is "Decode as" (which I admint, I haven't looked at the
internals of yet). I also freely admit that extending "Decode as" may not be
an easy task.

There must be similar (but more involved) discussion for IPsec and IPcomp as
there is state between endpoints there as well. In the IPsec case (like the
MPLS case), the user has to provide the additional SA  information. In the
IPcomp case the IPCA has to be defined... but that's an different discussion.

Has something similar to what I'm suggesting already been attempted for
another protocol?