Subject: [ippm] Loopback bit in draft-brockners-inband-oam-data-05

From: Tom Herbert <[email-masked]>
Date: Fri, 19 Apr 2019 11:59:00 -0700

Hello,

As I understand it, when the loopback bit is set intermediate nodes
"create a copy of the received packet and send the copy back to the
source of the packet". And the "source address is used as the
destination address of the copied packet". This begs a few questions:

- Wouldn't the copied packet take on the attributes of the orginal
packet, so the that the receiver of it thinks its getting a packet to
process all the way of the stack. For instance, if the original packet
is TCP, wouldn't it look like the copied packet is a TCP packet being
sent to the original source? It seems like the copied packet should be
wrapped in ICMP or something like that to ensure it's processed as a
control message.
- How many transit nodes are expected to send back copies of these
packets? It seems like it could be considerable number which might be
used in a DOS reflection attack.
- Wouldn't the loopback bit force the packet into a slow path to do
the work of copying and sending back packets. This doesn't seem all
that different from cases where ICMP needs to be sent and some routers
don't support that.
- Also, it looks like IOAM is intended to be done on loopback packets
in the return path. I'm not sure how much value there is in that. The
returned packet wouldn't have the same characteristics of an actual
packet in the flow being sent back from the real peer destination, and
in fact the return path might be very different and not even hit the
same routers.

A possilble alternative (or addition) I might suggest is to reflect
the IOAM option at the destination. So, for instance, if a destination
node receives a packet for a flow that contains the IOAM option, it
can attach the option on response packets back to the source as being
reflected. Option reflection may be a common concept as Path MTU
option (draft-hinden-6man-mtu-option-00) and FAST
(draft-herbert-fast-04) do this. This only requires additional work at
end points, and because data is piggybacked on real data packets there
is no overhead of additional out of band packets.

Tom