Sequence number mismatch

Teto mattator at gmail.com
Sat Sep 7 11:07:10 EDT 2013


Hi,

I have a kernel module creating a family and multicasting messages for
a group of that family, always with the same seq number 0.

In my userspace daemon, I subscribe to this very group, disable seq
check  via nl.nl_socket_disable_seq_check(self.sk);
and listens for notifications. The problem is as soons as a
notification comes in I have an error -16 in libnl "Sequence number
mismatch". What did I misunderstood ?

Thanks in advance for any hints.


Here is the part of the kernel module (with checks removed) and
enclosed the python daemon (relevant part is the function
send_rlocs_list_for_eid)
=====
    skb = genlmsg_new(NLMSG_GOODSIZE, GFP_KERNEL);

    msg_head = genlmsg_put(
                        skb,
                        0,              /* pid : NL_AUTO_PID no de port  */
                        0,    /* seq nb: ( ne marche pas) */
                        &lig_gnl_family,    /* family */
                        0,              /* Flags */
                        ELC_REQUEST_RLOCS_FOR_EID   /* command */
                        );


   nla_put_u32( skb, ELA_MPTCP_TOKEN, token );
   nla_put_u32( skb, ELA_EID, eid);


    /* finalize the message */
    genlmsg_end(skb, msg_head);


    rc = genlmsg_multicast(
        skb,
        0,  /* set own pid to not recevie */
        lig_multicast_group.id, /* group id */
        GFP_KERNEL /* allocation */
         );
====
-------------- next part --------------
A non-text attachment was scrubbed...
Name: daemon.py
Type: application/octet-stream
Size: 8417 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/libnl/attachments/20130907/099b82f1/attachment.obj>


More information about the libnl mailing list