Hi,
On Thu, Aug 20, 2020 at 07:05:58PM +0300, Papa Tana wrote:
listen in 2123, but I cannot add any message at all like echo-response in 2152 because libgtpnl manage it.
libgtpnl does not manage your UDP socket at all. It manages a netlink socket to the kernel, which is used to create + delete objects in kernel space.
You manage all your UDP sockets. I'm not sure where this misconception is coming from.
It would be great if you could share your GGSN code base with the community, like we share the kernel GTP-U and all of Osmocom with you.
As can be seen in gtp1u_udp_encap_recv(), ther eare multiple situations where GTP-U packets are passed to the socket and not handled in the kernel: * any GTP-U version != 1 * any GTP message types != GTP_TPDU * any GTP messages for which the kernel doesn't know the TID * any GTP messages whose inner IPv4 destination address doesn't match the TID
All of those messsages must be implemented in your userspace program, using the very socket your application has created.
Regards, Harald