2013-12-07 4 views
1

, пытаясь написать модуль ядра Linux для моего проекта, я столкнулся с этими функциями. Может ли кто-нибудь сказать мне, что они делают, когда его называют ?. Если вы можете процитировать некоторые ресурсы, которые я мог бы использовать, я мог бы сделать меньше проблем для вас, ребята. Я искал эти методы, но нашел только заголовочные файлы. функции приведены нижеnf_reset() Что делает эта функция?

nf_reset() 
skb_set_queue_mapping(skb, 0); 
skb_dst_drop(skb); 
skb_reset_network_header(skb); 
skb_dst_drop(skb); 
+0

nf_reset относится к фильтрации. Это позволяет вам –

+1

nf_reset относится к фильтрации. Он позволяет сбросить переадресацию портов и IP-перенаправление. Посмотрите в netfilter, и вы поймете, зачем нужна перезагрузка. Патч к ядру linux был добавлен в 2004 году с помощью функции nf_reset для сброса связанных с netfilter skb-полей http://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-3.html –

+0

спасибо за отзыв – user2714949

ответ

1

nf_reset, как это ожидалось, сбрасывает NF гласит:

2579 static inline void nf_reset(struct sk_buff *skb) 
2580 { 
2581 #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 
2582   nf_conntrack_put(skb->nfct); 
2583   skb->nfct = NULL; 
2584 #endif 
2585 #ifdef NET_SKBUFF_NF_DEFRAG_NEEDED 
2586   nf_conntrack_put_reasm(skb->nfct_reasm); 
2587   skb->nfct_reasm = NULL; 
2588 #endif 
2589 #ifdef CONFIG_BRIDGE_NETFILTER 
2590   nf_bridge_put(skb->nf_bridge); 
2591   skb->nf_bridge = NULL; 
2592 #endif 
2593 } 
Смежные вопросы