Re: [c-nsp] MTU and PMTUD

2022-12-06 Thread Saku Ytti via cisco-nsp
Hey Marcin,

> XR without enabled PMTUD (default setting) means ~1240 bytes available
> for TCP payload.
>
> That seems to be a bit small, did you perform any kind of performance
> testing to see the difference between defaults and let's say 9000 for BGP?

I am embarrassed to say, but I _just_ found out, like literally weeks
ago, that Junos BGP TCP window is 16kB, I did also find hidden command
(https://github.com/ytti/seeker-junos) to bump it up to 64kB. I am
working with JNPR to have public documentation for the hidden command
to improve supportability and optics. I am separately working on hopes
of getting TCP window scaling.
I know that we are limited by TCP window, as the BGP transfer speed is
within 0.5% of theoretical max, and increasing 16kB to 64kB increases
BGP transfer speed exactly 4 times, being still capped by TCP window.
I think Cisco can go to 130k, but won't by default.
Maybe after that issue is remedied I will review packet size.

> I'm thinking about RRs in particular, higher MTU (9000 vs 1200) should
> result in some performance benefit, at least from CPU point of view. I
> haven't tested this though.

I've seen Cisco presentations in the 90s and early 00s showing
significant benefit from it. I have no idea how accurate it is
today,nor why it would have made a difference in the past, like was
the CPU interrupt rate constrained?

> Agree. Thing is, PMTUD on XR is a global setting, so it does affect all
> TCP based protocols.

You can do 'tcp mss X' under neighbor stanza.

-- 
  ++ytti
___
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/


Re: [c-nsp] MTU and PMTUD

2022-12-06 Thread Marcin Kurek via cisco-nsp




We set the 'physical' MTU (In IOS-XR+Junos L2 but no CRC is in this
humber) as high as it went when the decision was made. Today you can
do I think 10k in Cisco8k and 16k in Juniper. We do not seet MPLS or
IP MTUs separately in Core. On the edge you should always set L3 MTU,
because you want to have the ability to add subinterfaces with large
MTU, so physical MTU must be large, as change will affect all
subinterfaces. This way you can later add big MTU subint, without
affecting other subints.


Thanks. Actually, I should have said "core-facing" interfaces in the edge :)

XR without enabled PMTUD (default setting) means ~1240 bytes available 
for TCP payload.


That seems to be a bit small, did you perform any kind of performance 
testing to see the difference between defaults and let's say 9000 for BGP?


I'm thinking about RRs in particular, higher MTU (9000 vs 1200) should 
result in some performance benefit, at least from CPU point of view. I 
haven't tested this though.




No, not at this time, our BGP transfer performance is limited by TCP
window-size, so larger packets would not do anything for us. And LDP
has a trivial amount of stable data so it doesn't matter.


Agree. Thing is, PMTUD on XR is a global setting, so it does affect all 
TCP based protocols.


___
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/


Re: [c-nsp] MTU and PMTUD

2022-12-06 Thread Saku Ytti via cisco-nsp
> Assuming typical MPLS network running L2VPNs and L3VPNs, how do you
> configure MTU values for core interfaces? Do you set interface (L2) MTU,
> MPLS MTU and IP MTU separately?

We set the 'physical' MTU (In IOS-XR+Junos L2 but no CRC is in this
humber) as high as it went when the decision was made. Today you can
do I think 10k in Cisco8k and 16k in Juniper. We do not seet MPLS or
IP MTUs separately in Core. On the edge you should always set L3 MTU,
because you want to have the ability to add subinterfaces with large
MTU, so physical MTU must be large, as change will affect all
subinterfaces. This way you can later add big MTU subint, without
affecting other subints.

> Do you enable PMTUD for TCP based control plane protocols like BGP or LDP?

No, not at this time, our BGP transfer performance is limited by TCP
window-size, so larger packets would not do anything for us.  And LDP
has a trivial amount of stable data so it doesn't matter.

-- 
  ++ytti
___
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/


[c-nsp] MTU and PMTUD

2022-12-06 Thread Marcin Kurek via cisco-nsp

Hi all,

Assuming typical MPLS network running L2VPNs and L3VPNs, how do you 
configure MTU values for core interfaces? Do you set interface (L2) MTU, 
MPLS MTU and IP MTU separately?


Do you enable PMTUD for TCP based control plane protocols like BGP or LDP?


Thanks!

___
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/