[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKD1Yr1VQxVkQKpGxrtGmWd=_Z9Q2eBp1L313bqSddDXG9nNxg@mail.gmail.com>
Date: Mon, 4 Jan 2016 10:54:33 +0900
From: Lorenzo Colitti <lorenzo@...gle.com>
To: Stephen Hemminger <stephen@...workplumber.org>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Eric Dumazet <eric.dumazet@...il.com>,
Maciej Żenczykowski <zenczykowski@...il.com>
Subject: Re: [iproute PATCH v3 2/2] ss: support closing inet sockets via SOCK_DESTROY.
On Thu, Dec 31, 2015 at 5:34 AM, Stephen Hemminger
<stephen@...workplumber.org> wrote:
>> + req.nlh.nlmsg_type = SOCK_DESTROY;
>> + req.nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
>> + req.nlh.nlmsg_seq = ++rth->seq;
>> + req.r.sdiag_family = d->idiag_family;
>> + req.r.sdiag_protocol = diag_arg->protocol;
>> + req.r.id = d->id;
>> +
>> + return rtnl_send_check_ack(rth, &req.nlh, req.nlh.nlmsg_len, 1);
>
> Just use rtnl_talk() instead, it does request/reply.
The reason I did not use rtnl_talk is that it prints all errors to
stderr. This does not
fit well with SOCK_DESTROY, for which it is expected that some
operations will fail.
For example, if you type "ss -a -K dport = :443", you probably don't
want to see one "RTNETLINK answers: Operation not supported" error for
every TIME-WAIT socket to port 443, and you don't want to see
"RTNETLINK answers: No such file or directory" if one of those sockets
happens to be closed during the scan. Silently ignoring these errors
seemed best.
I could also add a parameter to rtnl_talk to suppress printing errors,
though the patch to do so would be roughly equivalent to the patch
where I added rtnl_send_check_ack. I can also just use rtnl_talk as
you suggest and not care about the errors.
Let me know what you prefer.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists