请问一段代码的意思

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

学习了。。。。