why skb_dst() returns NULL
Hi, everyone. I'm new here and a bug confused me for several days. I am learning snull(a virtual netdevice driver, I believe many of u know it) these days. I tried to add: printk("%lu\n", skb->dst) in function snull_tx() on kernel 2.6.22 and get an address of the pointer(it seems right) when I ping; then I tried to add: printk("%lu\n", skb_dst(skb)) in function snull_tx() on kernel 3.3.2 and get NULL when I ping.
why would this happen? I think skb_dst(struct sk_buff *skb) on kernel 3.3.2 is the same with skb->dst on kernel 2.6.22, am I right? If I'm right, why would the results be different?
Can anyone help me?