亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1518 | 回復(fù): 0
打印 上一主題 下一主題

[內(nèi)核入門] 求助:netlink 中 netlink_kernel_create()中的回調(diào)INPUT [復(fù)制鏈接]

論壇徽章:
1
天蝎座
日期:2015-03-09 10:14:22
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-08-26 09:21 |只看該作者 |倒序瀏覽
這個回調(diào)函數(shù)總是不調(diào)用 netlink_kernel_create()函數(shù)已經(jīng)返回socket成功。
但掛載模塊后 INPUT這個回調(diào) 總不調(diào)用。

代碼:

void input(struct sock *sk, int nlen)
{
        printk("\n\nIs Enter CALLBACK FUNCTION \n");
        if ( !p_content )
        {
                printk("p_content is null \n");
                return;
        }
        struct sk_buff *skb;
  struct nlmsghdr *nlh;
  u32 pid;
  int rc, err;
  int len = NLMSG_SPACE(1200);
  char str[100];
  printk("net_link: data is ready to read.\n");
  skb = skb_recv_datagram(nl_sk, 0, 0, &err);
  if (skb->len >= NLMSG_SPACE(0)) {
    nlh = nlmsg_hdr(skb);
    printk("net_link: recv %s.\n", (char *)NLMSG_DATA(nlh));
    memcpy(str,NLMSG_DATA(nlh), sizeof(str));
    pid = nlh->nlmsg_pid;    //pid of sending process
    printk("net_link: pid is %d\n", pid);
    kfree_skb(skb);
    skb = alloc_skb(len, GFP_ATOMIC);
    if (!skb){
      printk(KERN_ERR "net_link: allocate failed.\n");
      return;
    }
    nlh = nlmsg_put(skb,0,0,0,1200,0);
    NETLINK_CB(skb).pid = 0; // from kernel
    memcpy(NLMSG_DATA(nlh), p_content, sizeof(p_content));
   
    printk("net_link: going to send.\n");
    rc = netlink_unicast(nl_sk, skb, pid, MSG_DONTWAIT);
    memset(p_content, 0, 1024);
    if (rc < 0) {
      printk(KERN_ERR "net_link: can not unicast skb (%d)\n", rc);
    }
    printk("net_link: send is ok.\n");
  }
}


static int test_netlink(void) {
  nl_sk = netlink_kernel_create( &init_net, NETLINK_TEST, 0, input, NULL, THIS_MODULE);
  if (!nl_sk) {
    printk(KERN_ERR "net_link: Cannot create netlink socket.\n");
    return -EIO;
  }
  printk("net_link: create socket ok.\n");
  return 0;
}
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP