Subject: Re: Generic netlink interface help

From: Samuel Ortiz <[email-masked]>
Date: Mon, 28 May 2007 17:01:10 +0300

On Sun, May 27, 2007 at 07:47:59PM +0200, Rodolfo Giometti wrote:
> On Sun, May 27, 2007 at 03:54:30PM +0200, Johannes Berg wrote:
> 
> > It's written in python without using libnl:
> > http://git.sipsolutions.net/pynl80211.git
> 
> If I well understand I should do something like this:
> 
> 	s = socket(PF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
> 
>         memset(&src_addr, 0, sizeof(src_addr));
>         src_addr.nl_family = AF_NETLINK;
>         src_addr.nl_pid = 0;            /* ask kernel to choose an unique ID */
>         src_addr.nl_groups = 0;         /* not in mcast groups */
>         ret = bind(handle->socket, (struct sockaddr *) &src_addr, sizeof(src_add
> 
> to get access to the generic netlink, then I should request the
> generic family name but I don't understand in which structure I should
> put this request... Can you please halp me?
You should first fetch your attributed family ID by sending a generic
netlink request (CTRL_CMD_GETFAMILY) to the generic netlink control family (GENL_ID_CTRL).
Once you have your family ID, you can build generic netlink messages and
send them there.
I'm linking with libnl, but you can have a look at my irconfig draft at
http://sortiz.org/irda/irconfig.c

Cheers,
Samuel.

> Thanks a lot,
> 
> Rodolfo
> 
> -- 
> 
> GNU/Linux Solutions                  e-mail:    [email-masked]
> Linux Device Driver                             [email-masked]
> Embedded Systems                     		[email-masked]
> UNIX programming                     phone:     +39 349 2432127