Skip to content

gtp: fixes and support multiple VRF's per GTP socket

Andreas Schultz netdev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest18 patches 2 repliesIn review
  2. v117 patches 0 repliesSuperseded

Changes in v2 from the cover letter

* the socket that is hold by the pdp context has to be release in a rcu callback. Otherwise a stray GTP rx could end uo with an invalid socket.
* accessing the skb->sk field in gtp_rx is invalid, that field has no been populated at that point
* add dst_cache to speed up the routing

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18gtp: add genl family modules aliasdrivers/net/gtp.c+1 -00 replies
2/18gtp: clear DF bit on GTP packet txdrivers/net/gtp.c+1 -10 replies
3/18gtp: make GTP sockets in gtp_newlink optionaldrivers/net/gtp.c+83 -750 replies
4/18gtp: return error ptr in find pdp helpersdrivers/net/gtp.c+11 -110 replies
5/18gtp: unify genl_find_pdp and prepare for per socket lookupdrivers/net/gtp.c+31 -680 replies
6/18gtp: fix cross netns recv on gtp socketdrivers/net/gtp.c+4 -60 replies
7/18gtp: remove unnecessary rcu_read_lockdrivers/net/gtp.c+4 -200 replies
8/18gtp: consolidate pdp context destruction into helperdrivers/net/gtp.c+21 -110 replies
9/18gtp: use addr_hash when traversing pdp contextsdrivers/net/gtp.c+2 -20 replies
10/18gtp: add socket to pdp contextdrivers/net/gtp.c+38 -320 replies
11/18gtp: consolidate gtp socket rx pathdrivers/net/gtp.c+47 -450 replies
12/18gtp: let userspace handle packets for invalid tunnelsdrivers/net/gtp.c+3 -30 replies
13/18gtp: replace netdev_dbg and KERN_DEBUG printk with pr_debugdrivers/net/gtp.c+7 -70 replies
14/18gtp: move TEID hash to per socket structuredrivers/net/gtp.c+60 -400 replies
15/18gtp: rename gtp hashtable helpersdrivers/net/gtp.c+7 -70 replies
16/18gtp: add genl cmd to enable GTP encapsulation on UDP socketdrivers/net/gtp.c include/uapi/linux/gtp.h+52 -00 replies
17/18gtp: add support to select a GTP socket during PDP context creationdrivers/net/gtp.c+65 -30 replies
18/18gtp: add dst_cache supportdrivers/net/gtp.c+26 -60 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 00/18] gtp: fixes and support multiple VRF's per GTP socket

The current linking of GTP network devices and GTP enabled sockets means that we can not have multiple VRF's per GTP socket. This series seperates the sockets from network device, makes sockets attached to GTP network device optional and adds a API function to enable GTP encapsulation on socket without having to create a new GTP device.

It is still possible to use the old API. The network device attached socket is then used when no socket is specified on PDP context creation.

During that work some smaller problems where found and fixes for them are included.

v2 changes:

* the socket that is hold by the pdp context has to be release in a rcu callback. Otherwise a stray GTP rx could end uo with an invalid socket.
* accessing the skb->sk field in gtp_rx is invalid, that field has no been populated at that point
* add dst_cache to speed up the routing

Regards
Andreas