[Bug 1511735] Re: libnl: fail to bind() netlink sockets

Nicolas Dichtel nicolas.dichtel at 6wind.com
Thu Dec 10 15:37:11 UTC 2015


It affects ubuntu-14.04, libnl version 3.2.21 (http://packages.ubuntu.com/trusty/libnl-3-200)
The first libnl upstream release which includes these patches is 3.2.25.

The problem happens when the libnl choose a port id already used by
another application. The libnl fails instead of trying another port id.

Please find enclosed a script to reproduce the problem:
$ ./example.sh 
gcc -o example -I/usr/include/libnl3 example.c -lnl-3 -lnl-genl-3
set manually the local port to 12145 (pid: 12144)
local port has been set by the libnl to 12145 (pid: 12145)
genl_connect(): Object exists (local port: 12145, pid: 12145)

The first instance of example sets manually the port id to pid+1.
The second instance of example let the libnl calculate automatically the port id. It chooses by default the pid, which is already used.

To summarize, if an application on the system chooses manually a port id
(because it does not use the libnl or because it sets it manually), it
may conflict with applications that use libnl and prevent them to work
properly.

** Attachment added: "example.tar"
   https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1511735/+attachment/4532569/+files/example.tar

** Changed in: libnl3 (Ubuntu)
       Status: Incomplete => New

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to libnl3 in Ubuntu.
https://bugs.launchpad.net/bugs/1511735

Title:
  libnl: fail to bind() netlink sockets

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1511735/+subscriptions



More information about the Ubuntu-server-bugs mailing list