Hi Martin, I'm currently working on a plan to make all X.25 drivers (lapbether.c, x25_asy.c, hdlc_x25.c) to set dev->hard_header_len / dev->needed_headroom correctly. So that upper layers no longer need to guess how much headroom a X.25 device needs with a constant value (as they currently do).
After studying af_packet.c, I found that X.25 drivers needed to set needed_headroom to reserve the headroom instead of using hard_header_len. Because hard_header_len should be the length of the header that would be created by dev_hard_header, and in this case it should be 0, according to the logic of af_packet.c. So my first step is to fix the settings in lapbether.c. Could you review this patch and extend your support via a "Reviewed-by" tag? If this can be fixed, I'll go on and fix other X.25 drivers. Thanks! It's very hard to find reviewers for X.25 code because it is relatively unmaintained by people. I hope I can do some of the maintenance work. I greatly appreciate your support!