stuman 发表于 2010-04-23 15:09
请问一段代码的意思
static void tcp_send_skb(struct sock *sk, struct sk_buff *skb)
{
int size;
struct tcphdr * th = skb->h.th;
/*
* length of packet (not counting length of pre-tcp headers)
*/
size = skb->len - ((unsigned char *) th - skb->data);//请问这段代码什么意思呀?
platinum 发表于 2010-04-23 15:22
skb->len 在 IP 栈以后是 IP 包的总长
skb->data 在 IP 栈时指向的是 IP 头
th 是 TCP 头,th - skb->data 就是 IP 头长度
skb->len - IP 头长度就是 TCP 总长
size 是在计算 TCP 总长多少(含 TCP 头)
xyloveyy 发表于 2010-04-26 17:55
学习了。。。。