Question about dev_validate_header used in af_packet.c
From: Xie He
Date: Sat Sep 05 2020 - 18:25:11 EST
Hi Willem,
I have a question about the function dev_validate_header used in
af_packet.c. Can you help me? Thanks!
I see when the length of the data is smaller than hard_header_len, and
when the user is "capable" enough, the function will accept it and pad
it with 0s, without validating the header with header_ops->validate.
But I think if the driver is able to accept variable-length LL
headers, shouldn't we just pass the data to header_ops->validate and
let it check the header's validity, and then just pass the validated
data to the driver for transmission?
Why when the user is "capable" enough, can it bypass the
header_ops->validate check? And why do we need to pad the data with
0s? Won't this make the driver confused about the real length of the
data?
Thank you for your help!
Xie