Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOAM transport: draft-weis-ippm-ioam-eth-01: examples for add/remove IOAM when tunnel start/end different from IOAM start/end #128

Open
inband-oam opened this issue Apr 19, 2019 · 1 comment

Comments

@inband-oam
Copy link
Owner

From: John Lemon [email protected]
Date: Friday, April 19, 2019 at 3:53 AM
To: Brian Weis [email protected]
Cc: "Frank Brockners (fbrockne)" [email protected], Shwetha bhandari [email protected], Tal Mizrahi [email protected], Mickey Spiegel [email protected], Barak Gafni [email protected], Aviv Kfir [email protected], "Ramesh Sivakolundu (sramesh)" [email protected]
Subject: Re: IOAM GRE Encapsulation Question

Hi Brian,

I see that draft-weis-ippm-ioam-eth-01 does not address this issue. I think we need to think about what is legal, and also how we handle each case upon reception.

Speaking of reception, how would you suggest dealing with the following?
• I have some packets coming into the IOAM-adding node with {IP, GRE, IP}. So say I add the IOAM as an additional thing pointed to by GRE as follows: {IP, GRE, IOAM, IP}. When this this gets to the end of the IOAM domain, I want to change this back to {IP, GRE, IP}.
• I also have some other packets coming with {IP, IP}. And say I add IOAM as follows: {IP, GRE, IOAM, IP}. When this gets to the end of the IOAM domain, I want to change this back to {IP, IP}.

At the end of the IOAM domain, how do I know whether to remove the GRE header or not?

Thanks, John

On Sun, Dec 16, 2018 at 8:46 PM Frank Brockners (fbrockne) [email protected] wrote:
Hey Brian,

adding a section with encap examples/use cases to the draft sounds like a great idea to me.

Cheers Frank

Am 17.12.2018 um 05:19 schrieb Brian Weis (bew) [email protected]:
Hi John,

One nit. I apologize, but when sending the earlier email I mistakenly referred to GRE as following an Ethernet header. But to my knowledge there is no standardized EtherType for GRE itself. GRE is IP protocol 47, so should following an IP header. So my packet examples were missing an IP header, and so I assume so were yours.

On Dec 12, 2018, at 3:37 PM, John Lemon [email protected] wrote:

Hi Brian,

Actually, what I was asking about was:

     BEFORE APPLYING IOAM
     ------------------------------------------

IPv4 | ETH | GRE | NOT IOAM | IP | TCP | Data |
------------------------------------------

I had been thinking about adding IOAM to an un-tunneled packet in my original example. I assume here that the “NOT IOAM” is another tunnel header of some kind, since there’s an IP header following it, so you're starting with a tunneled IP packet and you want to add an IOAM header and data.

BEFORE APPLYING IOAM
-----------------------------------------------
IPv4 | ETH | IP | GRE | NOT IOAM | IP | TCP | Data |

The above is what I would actually expect. I didn’t bother to fix the examples below.

     AFTER APPLYING IOAM, POSSIBILITY 1
     -------------------------------------------------

IPv4 | ETH | GRE | NOT IOAM | IOAM | IP | TCP | Data |
-------------------------------------------------

This makes sense to me when the “NOT IOAM” header has a next protocol as an EtherType.

     AFTER APPLYING IOAM, POSSIBILITY 2
     -------------------------------------------------

IPv4 | ETH | GRE | IOAM | NOT IOAM | IP | TCP | Data |
-------------------------------------------------

Yep, again this makes sense to me because the IOAM header can link to the “NOT IOAM” header.

     AFTER APPLYING IOAM, POSSIBILITY 3
     -------------------------------------------------------------

IPv4 | ETH | GRE | IOAM | ETH | GRE | NOT IOAM | IP | TCP | Data |
-------------------------------------------------------------

That’s gnarly, but looks perfectly legal to me. It’s begging for some form of header compression method as an option. :-)

Do people think this is worth describing these use cases in a new Appendix to the IOAM Ethernet I-D, or is it too complicated of a topic?

Thanks,
Brian

P.S. - I’m changing my email from [email protected] to [email protected], and I’ve copied the new one on this email.

Thanks, John

On Tue, Dec 11, 2018 at 9:20 PM Brian Weis (bew) [email protected] wrote:
Hi John,

First of all, I no longer have the need for that confusing language regarding the IOAM Ethertype “Next Protocol” optionally being an IP protocol, so I think it should be removed in the next draft. Lets assume “Next Protocol” is simply an EtherType. I think that’s probably a lot of the confusion.

I had envisioned that an IP over GRE packet would look like this:

     BEFORE APPLYING IOAM
     ------------------------- 

IPv4 | ETH | IP | TCP | Data |
-------------------------

     AFTER APPLYING IOAM
     -------------------------------------------------

IPv4 | ETH | GRE | IOAM HDR + DATA | IP | TCP | Data |
-------------------------------------------------

Does that make sense?

Thanks,
Brian

On Dec 11, 2018, at 3:56 PM, John Lemon [email protected] wrote:

Hi Brian,

When I have an existing IP over GRE packet that I want to add IOAM to, are you envisaging that this is done via extending the existing GRE encapsulation, by encapsulating the IP packet in a new IP over GRE over previous IP tunnel, or something else?

Thanks, John

@mickeyspiegel
Copy link
Collaborator

mickeyspiegel commented May 7, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants