Hi,

I have been thinking about SRv6 and the whole discussion around header removal 
at one of the SR nodes. While I strongly see the current network programming 
PSP function as a violation of RFC8200, one of the possible options is of 
course to update RFC8200 to allow some things that are currently not allowed.

Before you start throwing rotten tomatoes, hear me out :)

The most important argument against modifying a packet between the sender and 
the final receiver is that it can cause surprises for the sender. ICMP errors 
getting back to the sender about stuff the sender didn't do, pMTUd problems 
etc. And I think this is a very strong argument, and we shouldn't cause any 
surprises for the sender.

But, what if the sender *asks* the network to do things to its packets? Like in 
network programming. If the sender asks to have the network perform a certain 
function, it can't come as a surprise when it gets an ICMP error after the 
packet has been modified. It asked for that modification itself! And with that 
in mind, we might actually allow much more than just header removal in the 
network.

What if we update RFC8200 to allow packet manipulation in the network if and 
only if the sender of the packet explicitly asked for that? That would open the 
door for a whole range of innovation (PSP, WAN optimisation, payload 
compression etc), but only when requested. If the sender explicitly includes 
network programming instructions then there is no need anymore to forbid the 
execution of those instructions. No surprises, the possibility of smarts in the 
network, while still preserving the current semantics of an end-to-end network 
by default with strong rules about not messing with the packet.

Would this be a way forward that would accommodate everyones requirements?

Cheers,
Sander

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
spring mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/spring

Reply via email to