\begin{longtable}{ p{3.0cm} | p{11cm} }
    \caption{Explanation of abbreviations from \autoref{fig:iba_packet_format}. More details on the content of the different packets can be found in the \gls{iba} specification~\cite{infinibandvol1}.}\label{tab:packet_abbreviations}
	\vspace{3mm}
	\endfirsthead
	\endhead
	\hlineB{3}
    \Tstrut
	\textbf{Abbreviation} & \textbf{Description}\\
	\hhline{=|=}
	\Tstrut
    \acrshort{lrh}	            & 	\textit{\acrlong{lrh}}: detailed information on this header is provided in a separate paragraph below.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{grh}		        & 	\textit{\acrlong{grh}}: detailed information on this header is provided in a separate paragraph below.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{bth}   			& 	\textit{\acrlong{bth}}: Every packet in the \gls{iba} contains this header. It contains fields for the \gls{iba} transport and holds, i.a., the packet type, the destination queue pair number, and the packet sequence number. 
	\Tstrut\Bstrut\\ 
	\hline
	\Tstrut
    \acrshortpl{eth}   			& 	\textit{\acrlongpl{eth}}: These headers are optional and are used if applicable, based on the packet type in the \acrshort{bth}\@. All following headers which end with \textit{ETH} are extended transport headers.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{rdeth}  			& 	\textit{\acrlong{rdeth}}: This header contains the end-to-end context, used with the reliable datagram service type.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{deth}   			& 	\textit{\acrlong{deth}}: This header contains the queue key and the source queue pair number for datagram transfers.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{reth} 			& 	\textit{\acrlong{reth}}: This header contains the virtual address, remote key, and DMA length for an \gls{rdma} operation.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{atomiceth}		& 	\textit{\acrlong{atomiceth}}: This header is used for atomic operations and is similar to the \acrshort{reth}\@. Instead of a length field, it contains a swap (or add) field and a compare data field.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{aeth}   			& 	\textit{\acrlong{aeth}}: This header serves as acknowledge field in \gls{rdma} read response first, \gls{rdma} read response last, \gls{rdma} read response only, and acknowledge packets.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{atomicacketh}	    & 	\textit{\acrlong{atomicacketh}}: This header is similar to the \acrshort{aeth}, but for atomic acknowledgments. It only contains the original remote data.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{imm}	    		& 	\textit{\acrlong{imm}}: This optional block can be used to add \SI{32}{\bit} of custom data to \textit{send} or \textit{\gls{rdma} write} packets. The containing \SI{32}{\bit} of data will be visible in the receive completion queue element.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{ieth}		    	& \textit{\acrlong{ieth}}: This header contains a remote key which will be used to invalidate a remote memory region.
	\Tstrut\Bstrut\\ 
	\hline
	\Tstrut
	Payload  		            & \textit{Payload}: This is the actual payload to be sent. This field will be as big as the \gls{mtu} of the network.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{icrc}     		& \textit{\acrlong{icrc}}: This is the redundancy check for blocks that do not change during their transmission from source to destination.
	\newline

    The \gls{crc} which is used is the same as in the Ethernet standard: the CRC-32 with the polynomial \texttt{0x04C11DB7}.
	\Bstrut\\ 
	\hline
	\Tstrut
    \acrshort{vcrc}     		& \textit{\acrlong{vcrc}}: This is the redundancy check for blocks that do change during their transmissing from source to destination.
	\Tstrut\\ 
	\hlineB{3}
\end{longtable}
