blob: 464352c7ffe8fdb5c1612a7e181607f0c7e42193 [file] [log] [blame]
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +01001#ifndef _GTP_KERNEL_H_
2#define _GTP_KERNEL_H_
3
4struct gengetopt_args_info;
5
6extern int debug;
7extern char *ipup;
8
9#ifdef GTP_KERNEL
Harald Weltef2286392018-04-25 19:02:31 +020010int gtp_kernel_create(int dest_ns, const char *devname, int fd0, int fd1u);
11int gtp_kernel_create_sgsn(int dest_ns, const char *devname, int fd0, int fd1u);
Harald Welte698a2332017-11-08 15:09:58 +090012void gtp_kernel_stop(const char *devname);
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010013
Harald Welte698a2332017-11-08 15:09:58 +090014int gtp_kernel_tunnel_add(struct pdp_t *pdp, const char *devname);
15int gtp_kernel_tunnel_del(struct pdp_t *pdp, const char *devname);
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010016
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010017#else
Harald Weltef2286392018-04-25 19:02:31 +020018static inline int gtp_kernel_create(int dest_ns, const char *devname, int fd0, int fd1u)
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010019{
Harald Welte8ffd7fc2017-08-12 14:52:15 +020020 SYS_ERR(DGGSN, LOGL_ERROR, 0, "ggsn compiled without GTP kernel support!\n");
21 return -1;
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010022}
Harald Weltef2286392018-04-25 19:02:31 +020023#define gtp_kernel_create_sgsn gtp_kernel_create
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010024
Harald Welte698a2332017-11-08 15:09:58 +090025static inline void gtp_kernel_stop(const char *devname) {}
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010026
Harald Welte698a2332017-11-08 15:09:58 +090027static inline int gtp_kernel_tunnel_add(struct pdp_t *pdp, const char *devname)
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010028{
29 return 0;
30}
31
Harald Welte698a2332017-11-08 15:09:58 +090032static inline int gtp_kernel_tunnel_del(struct pdp_t *pdp, const char *devname)
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010033{
34 return 0;
35}
36
Pablo Neira Ayuso4b075b62015-11-17 12:22:42 +010037#endif
38#endif /* _GTP_KERNEL_H_ */