[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CA+VDgmPfYe7jkGzLujcJ_VL_5RYwTTOke_Y4e9WhRoJuLX6-gw@mail.gmail.com>
Date: Mon, 23 Jan 2017 23:10:53 +0530
From: prashantkumar dhotre <prashantkumardhotre@...il.com>
To: netdev@...r.kernel.org
Subject: Re: EPOLLERR on memory mapped netlink socket
Appreciate any help on this
Thanks
On Mon, Jan 23, 2017 at 9:19 AM, prashantkumar dhotre
<prashantkumardhotre@...il.com> wrote:
> Hi experts,
> I am new to netlink sockets.
> In my app , I am getting EPOLLERR in epoll_wait() on netlink socket
> continuously.
> epoll just notifies that there is a read event on socket (it does not
> tell if it is read or epollerr).
> What could be cause of this and what EPOLLERR on memory mapped netlink
> socket mean.is this Other side of netlink (kernel side) closed
> connection ?even if kernel side closed connection why non-stop
> repeated EPOLLERR s on netlink sockets ?
> What action should we take in such cases ? just close the socket or
> call getsockopt(SO_ERROR) to retrieve the pending error state from the
> socket and just continue without closing socket?
>
> how do we detect if kernel side closed the connection ?
> My understanding is :
> if we get read event notification from epoll on memory mapped netlink
> socket and in RX ring if the frame is neither NL_MMAP_STATUS_VALID and
> nor NL_MMAP_STATUS_COPY then we can conclude that this is a 'close()'
> from remote kernel socket and I can close connection by calling
> close() on my netlink socket.
> Is above understanding correct ?
>
> Please
Powered by blists - more mailing lists