mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
![Wojciech Drewek](/assets/img/avatar_default.png)
Adding GTP device through ip link creates the situation where GTP instance is not able to send GTP echo requests. Echo requests are used to check if GTP peer is still alive. With this patch, gtp_genl_ops are extended by new cmd (GTP_CMD_ECHOREQ) which allows to send echo request in the given version of GTP protocol (v0 or v1), from the given ms address to he given peer. TID is not inclued because in all path management messages it should be equal to 0. When GTP echo response is detected, multicast message is send to everyone in the gtp_genl_family. Message contains GTP version, ms address and peer address. Suggested-by: Harald Welte <laforge@gnumonks.org> Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com> Reviewed-by: Harald Welte <laforge@gnumonks.org> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
38 lines
749 B
C
38 lines
749 B
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _UAPI_LINUX_GTP_H_
|
|
#define _UAPI_LINUX_GTP_H_
|
|
|
|
#define GTP_GENL_MCGRP_NAME "gtp"
|
|
|
|
enum gtp_genl_cmds {
|
|
GTP_CMD_NEWPDP,
|
|
GTP_CMD_DELPDP,
|
|
GTP_CMD_GETPDP,
|
|
GTP_CMD_ECHOREQ,
|
|
|
|
GTP_CMD_MAX,
|
|
};
|
|
|
|
enum gtp_version {
|
|
GTP_V0 = 0,
|
|
GTP_V1,
|
|
};
|
|
|
|
enum gtp_attrs {
|
|
GTPA_UNSPEC = 0,
|
|
GTPA_LINK,
|
|
GTPA_VERSION,
|
|
GTPA_TID, /* for GTPv0 only */
|
|
GTPA_PEER_ADDRESS, /* Remote GSN peer, either SGSN or GGSN */
|
|
#define GTPA_SGSN_ADDRESS GTPA_PEER_ADDRESS /* maintain legacy attr name */
|
|
GTPA_MS_ADDRESS,
|
|
GTPA_FLOW,
|
|
GTPA_NET_NS_FD,
|
|
GTPA_I_TEI, /* for GTPv1 only */
|
|
GTPA_O_TEI, /* for GTPv1 only */
|
|
GTPA_PAD,
|
|
__GTPA_MAX,
|
|
};
|
|
#define GTPA_MAX (__GTPA_MAX + 1)
|
|
|
|
#endif /* _UAPI_LINUX_GTP_H_ */
|