Merge branch 'gtp-misc-improvements'
authorDavid S. Miller <davem@davemloft.net>
Mon, 13 Mar 2017 20:04:31 +0000 (13:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Mar 2017 20:04:31 +0000 (13:04 -0700)
commit3e3eec09311a48c64104cafa193984cc807ab9e0
treec7b6a980da11a43508b4137122f2af4131e380fc
parent68e5cfaffaca73bda1263c503f9b186a196dd97b
parent101cfbc155d082e8567f697f86f89853c790be5e
Merge branch 'gtp-misc-improvements'

Andreas Schultz says:

====================
gtp: misc improvements

This is a resent of last series that missed the merge window. There
are no changes compared to v4.

v4: Compared to v3 it contains mostly smallish naming and spelling fixes.
It also drops the documentation patch, Harald did a better job with the
documentation and the some things I described do not yet match the implementation.
I'll readd the relevant parts with a follow up series.

This series lays the groundwork for removing the socket references from
the GTP netdevice by removing duplicate code and simplifying the logic on
some code paths.

It slighly changes the GTP genl API by making the socket parameters optional
(though one of them is still required).

The removal of the socket references will break the 1:1 releation between
GTP netdevice and GTP socket that prevents us to support multiple VRFs with
overlapping IP addresse spaces attached to the same GTP-U entity (needed for
multi APN support, coming a follow up series).

Pablo found a socket hold problem in v2. In order to solve that I had to
switch the socket references from the struct socket to the internal
struct sock. This should have no functionl impact, but we can now hang
on to the reference without blocking user space from closing the GTP socket.

v4->v5:
 * resent for new merge window
v3->v4:
 * drop the documentation patch
 * spelling fixes
 * pass nlattr instead of genl_info into gtp_find_dev,
   makes the code slightly more compact and readable
v2->v3:
 * add documentation to explain the goal of all these changes
 * incorporate review comments
 * switch from struct socket to struct sock
====================

Signed-off-by: David S. Miller <davem@davemloft.net>