当前位置: 技术问答>linux和unix
请教:更改底层数据接收程后引起linux系统崩溃!
来源: 互联网 发布时间:2017-03-17
本文导语: 请教高手,我从int netif_receive_skb(struct sk_buff *skb)设置一个自定义的函数指针(钩子),加载一下自定义模块,想把从特定接口过来的数据包截下来,进行一定加工处理后(主要是加封装包头),再从另外一个...
请教高手,我从int netif_receive_skb(struct sk_buff *skb)设置一个自定义的函数指针(钩子),加载一下自定义模块,想把从特定接口过来的数据包截下来,进行一定加工处理后(主要是加封装包头),再从另外一个接口发送出去,发送之前我查询了路由表,找到路由,然后用下边语句发送:
if (dst->hh){
printk("cachedn");
ret = neigh_hh_output(dst->hh, skb);
if(ret neighbour){
printk("no cachedn");
ret = dst->neighbour->output(skb);
if(ret
if (dst->hh){
printk("cachedn");
ret = neigh_hh_output(dst->hh, skb);
if(ret neighbour){
printk("no cachedn");
ret = dst->neighbour->output(skb);
if(ret