mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-09-04 12:41:37 +00:00
kvm tools: Add helpers to return TCP {header, total, payload} length
This patch adds three helpers uip_tcp_hdrlen(), uip_tcp_len(), uip_tcp_payloadlen() to return TCP header length, TCP totoal length, and tcp payload length. Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
@@ -203,6 +203,25 @@ static inline u16 uip_udp_len(struct uip_udp *udp)
|
||||
return ntohs(udp->len);
|
||||
}
|
||||
|
||||
static inline u16 uip_tcp_hdrlen(struct uip_tcp *tcp)
|
||||
{
|
||||
return (tcp->off >> 4) * 4;
|
||||
}
|
||||
|
||||
static inline u16 uip_tcp_len(struct uip_tcp *tcp)
|
||||
{
|
||||
struct uip_ip *ip;
|
||||
|
||||
ip = &tcp->ip;
|
||||
|
||||
return uip_ip_len(ip) - uip_ip_hdrlen(ip);
|
||||
}
|
||||
|
||||
static inline u16 uip_tcp_payloadlen(struct uip_tcp *tcp)
|
||||
{
|
||||
return uip_tcp_len(tcp) - uip_tcp_hdrlen(tcp);
|
||||
}
|
||||
|
||||
static inline u16 uip_eth_hdrlen(struct uip_eth *eth)
|
||||
{
|
||||
return sizeof(*eth);
|
||||
|
||||
Reference in New Issue
Block a user