Hi Anoop,

----- On Feb 18, 2017, at 1:03 AM, Anoop Singh Tomar <anooptomar@fb.com> wrote:

Hi ,

Posting question related to capability to implement user plane (GTP tunnel) for S1-U and Iu-PS interface between S-GW & eNB and SGSN & RNC respectively via osmocom kernel GTP-U module.

At present it seems if TE-ID is not valid packet is dropped in kernel GTP-U module. So in order to use this for S1-U/Iu-PS interface it is required to add support for following use-case:

ยท       Down link packet arrival in S-GW /SGSN for UE which is in idle mode โ€“ Buffer the packet and trigger paging to move the UE to connected.

a.       When UE moves to idle mode โ€“ S1-U or IuPS bearer is released. In this case IP address and TE-ID of eNB/RNC becomes invalid.

b.       DL Packet is received for the idle mode UE in S-GW/SGSN -  In this case , kernel GTP-U module should deliver packet to user-space application (SGW/osmoSGSN) so that these packets can be buffered in user space and paging can be initiated.

Question โ€“ Is there any plan to support above in near-future in osmocom kernel GTP-U module or larger question would be to plan to enable  usage  of kernel GTP-U module in SGSN and SGW towards RAN ?


We (Travelping) have some ideas about implementing a S-GW  based
on the current ergw code [1]. This would also involve implementing kernel
side support.

The current idea for extending the kernel part is to change the PDP
context logic from a 'GTP-U to network device' reeation to a 'GTP-U
to something' relation. The 'something' then would be the existing network
device, another GTP-U socket (including TEID's), a L2TP tunnel, a IPsec
session, .... an so on. My current understanding is that the LWT infrastructure
should be suitable for that.

This implementation would support the S1-U use case. For Iu-PS, a user
space only implementation would IMHO be more suitable. Anyhow, the
current kernel implementation is passing all packets that it can't handle
(has no PDP context for them) onto the user space process.

But all that are only halve backed ideas, nothing concrete, yet.

Regards
Andreas

[1]: https://github.com/travelping/ergw

Anoop