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

the build fails 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.

can I 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.