Reading the specification for control packets, I want to ask about some clarification regarding packets without control information field (CIF).
For the packet types Keep-Alive, Shutdown, and AckAck, this draft specifies that the "control packets do not contain Control Information Field (CIF)". For the Peer Error packet, this is not explicitly specified, but no Control Field Information is shown in the packet structure.
However, the Haivision SRT library does insert a 32-bit word of zeros as the CIF for all these packet types. Also, in the Haivision SRT Technical Overview document from 2018, it is specified that the packet types Keep-Alive, Shutdown, and AckAck contain a 32-bit word of zeros as the control information field (CIF).
Sending packets without any CIF padding to the Haivison SRT library seems to work just fine. The library accepts the packets with or without the zero padding, at least for Keep-Alive, Shutdown, and AckAck, which I have tested.
As the Haivision SRT library inserts a 32-bit word of zero padding, it means another SRT implementation must support that there could be padding present, and not discard packets with padding as an invalid packet.
So, I wonder about the following;
- Is the current draft correct in that there should be no control information field (CIF) for Keep-Alive, Shutdown, AckAck, and, Peer Error packets? In that case, it should be specified that an implementation must assume that there can be CIF data present, to ensure compatibility with the Haivision SRT library.
- Or, should the draft specify that there should actually be a 32-bit word of zero padding present as the CIF?
Reading the specification for control packets, I want to ask about some clarification regarding packets without control information field (CIF).
For the packet types Keep-Alive, Shutdown, and AckAck, this draft specifies that the "control packets do not contain Control Information Field (CIF)". For the Peer Error packet, this is not explicitly specified, but no Control Field Information is shown in the packet structure.
However, the Haivision SRT library does insert a 32-bit word of zeros as the CIF for all these packet types. Also, in the Haivision SRT Technical Overview document from 2018, it is specified that the packet types Keep-Alive, Shutdown, and AckAck contain a 32-bit word of zeros as the control information field (CIF).
Sending packets without any CIF padding to the Haivison SRT library seems to work just fine. The library accepts the packets with or without the zero padding, at least for Keep-Alive, Shutdown, and AckAck, which I have tested.
As the Haivision SRT library inserts a 32-bit word of zero padding, it means another SRT implementation must support that there could be padding present, and not discard packets with padding as an invalid packet.
So, I wonder about the following;