From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH 1/3] kcp: add kernel control path kernel module Date: Thu, 28 Jan 2016 13:50:38 +0000 Message-ID: <20160128135038.GA24660@sivlogin002.ir.intel.com> References: <1453911849-16562-1-git-send-email-ferruh.yigit@intel.com> <1453911849-16562-2-git-send-email-ferruh.yigit@intel.com> <56A9E43D.5000105@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Remy Horton Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id D40E2C45A for ; Thu, 28 Jan 2016 14:50:43 +0100 (CET) Content-Disposition: inline In-Reply-To: <56A9E43D.5000105@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jan 28, 2016 at 09:49:49AM +0000, Remy Horton wrote: > Comments inline > > ..Remy > > > On 27/01/2016 16:24, Ferruh Yigit wrote: > > This kernel module is based on KNI module, but this one is stripped > > version of it and only for control messages, no data transfer > > functionality provided. > > > > This Linux kernel module helps userspace application create virtual > > interfaces and when a control command issued into that virtual > > interface, module pushes the command to the userspace and gets the > > response back for the caller application. > > > > Signed-off-by: Ferruh Yigit > > --- > > > > + net_dev = alloc_netdev(sizeof(struct kcp_dev), name, > > +#ifdef NET_NAME_UNKNOWN > > + NET_NAME_UNKNOWN, > > +#endif > > + kcp_net_init); > > Something doesn't feel quite right here. In cases where NET_NAME_UNKNOWN is > undefined, is the signature for alloc_netdev different? > Yes, this is because of API change between kernel versions, when NET_NAME_* introduced, alloc_netdev() also updated to have this. > > > +MODULE_LICENSE("Dual BSD/GPL"); > > +MODULE_AUTHOR("Intel Corporation"); > > +MODULE_DESCRIPTION("Kernel Module for managing kcp devices"); > > I'm not up to speed on this area, but some of the file headers only mention > GPL/LGPL. This correct? > This is because a header file (rte_kcp_common.h) shared by this kernel module and user-space application is dual licensed (BSD + GPL) I mimicked this from exiting KNI. > > > + nlmsg_unicast(nl_sock, skb, pid); > > + KCP_DBG("Sent cmd:%d port:%d\n", cmd_id, port_id); > > + > > + /*nlmsg_free(skb);*/ > > + > > + return 0; > > +} > > Oops.. :) > Possible memory leak, or is *skb statically allocated? > No leak, not statically allocated, but taken care by nlmsg_unicast() But commented code needs to be removed. Thanks, ferruh