Ядро имеет эти две функции, skb_header_pointer()
и pskb_may_pull()
.
Насколько я понимаю код, первая позволяет получить указатель на буфер длины len
на любая часть пакета.
С другой стороны, pskb_may_pull
гарантирует, что область skb->data
содержит буфер размера, переданного в качестве аргумента функции, и при необходимости извлечет данныеиз фрагментов страницы.
Могут ли эти две функции использоваться одинаково, если мне нужен доступ к транспортному заголовку в пакете IPv4Ipv6?В чем разница между этими двумя API?
Спасибо.