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

Feature Request: OSPF MTU Override #2693

Closed
brotherdust opened this issue Jul 20, 2018 · 3 comments
Closed

Feature Request: OSPF MTU Override #2693

brotherdust opened this issue Jul 20, 2018 · 3 comments

Comments

@brotherdust
Copy link

Example use-case:
Support for unfragmented ≥ 1500-byte packets across MPLS LSP.

To accomplish this in, say, Mikrotik RouterOS-land:

  1. Set interface "L2" MTU as high as hardware allows (if it's not already)
  2. Set MPLS interface MTU to 1530 (1508 is default, but 1530 is enough for VLAN + VPLS + MPLS headers).
  3. IP "L3" MTU of interface remains 1500

This has the advantage of not having to fiddle with OSPF MTU's across the LSP or having to use MTU-ignore (which is a bad thing). Therefore, less chance of MTU problems.

So, what I'm looking for is an equivalent in FRR-land. There doesn't seem to be any MTU knobs for LDP or MPLS itself; only IP (which is a kernel setting, not something in FRR itself anyway).

I think there should be a way to tell OSPF to override the MTU with an arbitrary value.

I hope I made myself clear in this. Let me know if you need more details. Thanks!

@rwestphal
Copy link
Member

This makes sense to me. We have a single MTU setting in the Linux kernel which is the L3 MTU (1500 by default). When using MPLS we usually need to increase this MTU to account for MPLS labels, but this has the side effect of affecting routing daemons that use the MTU value for other things (e.g. checks for MTU mismatches in ospfd).

What we could do is to add two new commands in zebra: "mtu" and "mpls mtu". Then the biggest of these two values would be installed in the kernel, but both MTUs would be sent separately to the client daemons. This way ospfd would be able to obtain the L3 MTU and ignore the MPLS MTU. The new MTU commands would be optional and zebra would use the value from the kernel when static MTUs are not configured. We would also need to provide hooks for setting the different MTUs on external dataplanes.

@donaldsharp
Copy link
Member

Added to feature wiki

@brotherdust
Copy link
Author

@donaldsharp wait... what wiki?

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

No branches or pull requests

4 participants