diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2022-01-12 03:21:57 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2022-08-09 18:21:23 +0200 |
commit | a2c40c4dbe035fb5420bef75eba35756ab1bf73e (patch) | |
tree | 02861dbe66ac9e8a52f4475f270884ea92117fc8 /include/osmocom/pfcp | |
parent | 006a93d7d41151549825441105c1e738d6ba7238 (diff) |
add pfcp heartbeat fsm
Related: SYS#5599
Change-Id: Id822c9c7a71461d17f062c2a3d10cb2f616c7f63
Diffstat (limited to 'include/osmocom/pfcp')
-rw-r--r-- | include/osmocom/pfcp/Makefile.am | 1 | ||||
-rw-r--r-- | include/osmocom/pfcp/pfcp_heartbeat_fsm.h | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/include/osmocom/pfcp/Makefile.am b/include/osmocom/pfcp/Makefile.am index 898113f..fe8e61a 100644 --- a/include/osmocom/pfcp/Makefile.am +++ b/include/osmocom/pfcp/Makefile.am @@ -1,5 +1,6 @@ pfcp_HEADERS = \ pfcp_endpoint.h \ + pfcp_heartbeat_fsm.h \ pfcp_ies_custom.h \ pfcp_ies_auto.h \ pfcp_msg.h \ diff --git a/include/osmocom/pfcp/pfcp_heartbeat_fsm.h b/include/osmocom/pfcp/pfcp_heartbeat_fsm.h new file mode 100644 index 0000000..e610921 --- /dev/null +++ b/include/osmocom/pfcp/pfcp_heartbeat_fsm.h @@ -0,0 +1,40 @@ +/* + * (C) 2021-2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> + * All Rights Reserved. + * + * Author: Neels Janosch Hofmeyr <nhofmeyr@sysmocom.de> + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#pragma once + +struct osmo_fsm_inst; +struct osmo_tdef; + +enum osmo_pfcp_heartbeat_fsm_event { + /* Dispatch this with a struct osmo_pfcp_msg* as data argument whenever a Heartbeat Response matching this + * instance is received. Typically a PFCP Peer responds to a request sent from here. */ + OSMO_PFCP_HEARTBEAT_EV_RX_RESP, + /* Dispatch this with a struct osmo_pfcp_msg* as data argument whenever a Heartbeat Request matching this + * instance is received. Typically a PFCP Peer on its own accord sent a Heartbeat Request. */ + OSMO_PFCP_HEARTBEAT_EV_RX_REQ, +}; + +struct osmo_fsm_inst *osmo_pfcp_heartbeat_alloc(struct osmo_fsm_inst *parent_fi, + uint32_t parent_event_tx_heartbeat, uint32_t parent_event_term, + struct osmo_tdef *tdefs); |