network driver port - problem with struct sk_buff transport_header

Submitted by steverino2
on January 19, 2008 - 8:44pm

I'm working on a network driver port from 2.6.23 to an existing stable code base 2.6.21.3

the build barfs due to reference to skb->transport_header
unfortunately it appears that significant not backward compatible changes were made to struct sk_buff in v 2.6.22
to illustrate, what formerly were unions h, mh, mac near the top
of struct sk_buff (following iif), are now transport_header, network_header, mac_header in a different position. some driver made use of transport_header offset and now it cannot be easily translated to an earlier code base.

rather than ranting on about the wisdom of such changes
can I rather humbly ask if there is any recommendation
to back port a driver like this. besides a kernel upgrade.

PS the skbuff.h doxygen for struct sk_buff is wrong; it shows the old ordering of fields following iif.

but like I said, rant suppressed.

Thanks,
/steverino2