## Description
QTIP (QUIC over TCP): A variant of QUIC with TCP headers instead of UDP headers. This is different from a TCP tunnel in that it does not use TCP’s retransmission and congestion control logic: it simply uses TCP headers (and a few pure TCP SYN and RST packets with no QUIC payload) to masquerade as TCP traffic.
Client Side:
1. When the initial packet is passed down to raw datapath, we cache the send and send a SYN instead.
2. When SYN+ACK is received, we send an ACK and then resume the initial packet and construct a RST to be sent later (because at this moment we know what sequence and ACK numbers to use).
3. When the first data packet is received, we will know what sequence number and ACK number to use. The ACK number after handshake is always acking the peer's SYN+ACK. The sequence number is always ISN+2, where ISN+1 is reserved for RST. By doing so, all data packets are retransmissions but still in window.
4. When the QUIC connection is shut down, the cached RST is sent.
Server side:
1. Statelessly respond to all SYN/FIN received.
2. When the first data packet is received, it's identical to 3.
changed base image to ltsc2019/vse2019
installed additional SDK to the image
added pipeline parameter to specify the target branch
Signed-off-by: Jianye Chen <jianyechen@microsoft.com>
Signed-off-by: Jianye Chen <jianyechen@microsoft.com>
OBP does not preserve permissions and symlinks when uploading artifacts. Fix it by archiving the files using tar and unarchiving it before packaging task.
Enables building and signing arm/arm64 bits for linux.
Also, several minor improvements to the OBP workflow.
With this PR, linux onebranch build workflow does not install anything online anymore. Everything is set up in the docker image.