PacketData
PacketData
JSON Example
{
"frame_size": 0,
"resource_type": "string",
"routed": false,
"transport_type": "string"
}
integer As int64
As int64
frame_size
Optional
Constraints:
minimum: 60
maximum: 1000
default: 128
If the requested frame_size is too small (given the payload and traceflow metadata requirement of 16 bytes), the traceflow request will fail with an appropriate message. The frame will be zero padded to the requested size.
string
resource_type
Required
Packet configuration
Possible values are :
BinaryPacketData,
FieldsPacketData,
boolean
routed
Optional
When this flag is set, traceflow packet will have its destination overwritten as the gateway address of the logical router to which the source logical switch is connected. More specifically:
- For ARP request, the target IP will be overwritten as gateway IP if the target IP is not in the same subnet of gateway.
- For ARP response, the target IP and destination MAC will be overwritten as gateway IP/MAC respectively, if the target IP is not in the same subnet of gateway.
- For IP packet, the destination MAC will be overwritten as gateway MAC.
However, this flag will not be effective when injecting the traceflow packet
to a VLAN backed port. This is because the gateway in this case is a physical
gateway that is outside the scope of NSX. Therefore, users need to manually
populate the gateway MAC address. If the user still sets this flag in this case,
a validation error will be thrown.
The scenario where a user injects a packet with a VLAN tag into a parent port is
referred to as the traceflow container case. Please note that the value of
routed
depends on the connected network of the child segment rather than the connected network of segment of the parent port in this case. Here is the explanation: The parent port in this context is the port on a segment which is referred to by a SegmentConnectionBindingMap. The bound segment of the SegmentConnectionBindingMap is the child segment. The user-crafted traceflow packet will be directly forwarded to the corresponding child segment of the parent port without interacting with any layer 2 forwarding/layer 3 routing in this scenario. The crafted packet will follow the forwarding/routing polices of the child segment's connected network. For example, if a user injects a crafted packet to port_p, and the segment (seg_p) of port_p is referred to by the binding map m1, where m1 is bound to segment seg_c, and the destination port (port_d) of the packet is the VM vNIC connected to seg_p. Although port_p and port_d are on the same segment, the 'routed' value should be set to true if the user expects the crafted packet to be correctly delivered to the destination. This is because the child segments seg_c and seg_d are on different segments and require router interaction to communicate.
string
transport_type
Optional
Constraints:
default: UNICAST
This type takes effect only for IP packet.
Possible values are :
BROADCAST,
UNICAST,
MULTICAST,
UNKNOWN,