osmo-upf (0.4.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * up_peer: Document field
  * Introduce hashtable to look up session in endpoint by UP SEID
  * up_peer: Increase up/cp seid hashtable sizes
  * Increase per PDR (F-TEID) hashtable size
  * up_session: Log regular Establish/Modify/Release as INFO
  * Log regular tunmap/tunend actions as INFO
  * Split up_peer into pfcp_{node,entity}_peer
  * Validate session remote CP F-SEID and use it to transmit session requests

  [ Neels Janosch Hofmeyr ]
  * drop unused copy of up_peer.c: up_peer_fsm.c

  [ Vadim Yanitskiy ]
  * contrib/jenkins.sh: specify --with-unitdir for nftables
  * contrib/jenkins.sh: use https:// instead of git://

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 03 Dec 2025 19:48:51 +0100

osmo-upf (0.3.0) unstable; urgency=medium

  [ Oliver Smith ]
  * upf_gtp: automatically delete old gtp devices

  [ Pau Espin Pedrol ]
  * Improve logging reading packets from gtp device
  * Remove unused file up_session_to_gtp.c
  * Simplify up_session_choose_f_teid() with early returns
  * Introduce hashtable to lookup session by F-TEID
  * Introduce hashtable to lookup chain_id
  * Introduce hashtable to look up gtp_tundev by local TEID

 -- Oliver Smith <osmith@sysmocom.de>  Tue, 18 Feb 2025 12:20:35 +0100

osmo-upf (0.2.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * improve manual: PFCP and GTP interfaces
  * example cfg: tweak logging

  [ Oliver Smith ]
  * osmo_pfcp_tool: fix osmo_pfcp_tool_copyright error
  * debian: add osmo-pfcp-tool to osmo-upf package
  * Run struct_endianness.py
  * contrib/jenkins: build nftables without python
  * contrib/jenkins: clone netfilter repos with https
  * contrib/jenkins: netfilter: use PARALLEL_MAKE
  * debian: set compat level to 10
  * systemd: depend on networking-online.target
  * .deb/.rpm: various fixes related to non-root
  * contrib/systemd: AmbientCapabilities=CAP_NET_ADMIN
  * contrib: remove rpm spec file
  * debian/postinst: add checks, be verbose

  [ Neels Janosch Hofmeyr ]
  * Allow running without a GTP dev
  * drop charts/, duplicated from libosmo-pfcp.git
  * manual: add/fix running.adoc
  * manual: add 'Configure Primary Links'
  * vty doc: indicate default nft table name
  * silence misleading error: "HEARTBEAT_REQ: Unknown message type"
  * drop unused enum up_session_kind
  * tests/upf.vty: add some missing nodes to the test
  * VTY: rename 'gtp' to 'tunend'
  * VTY: rename 'nft' to 'tunmap'
  * osmo-pfcp-tool VTY: rename 'endecaps' to 'tunend'
  * cosmetic: in code, rename 'endecaps' to 'tunend'
  * cosmetic: rename upf_gtp_tun to upf_gtp_tunend
  * drop unused upf_gtp_dev_is_tunnel_active()
  * cosmetic: rename upf_gtp_dev_tunnel_* to upf_gtp_dev_tunend_*
  * vty: revert rename of 'show gtp'
  * VTY: show gtp: still list tunmap if no tunend device is open
  * up_gtp_action_to_str_buf(): always print PDR IDs
  * use osmo_pfcp_ie_outer_header_creation_to_str_buf()
  * gtpu_echo: do not osmo_fd_register twice
  * VTY 'show gtp': more accurately identify local/remote IP
  * fix access/core mixup of PDR IDs / tunmap FAR
  * clarify comments and naming around PDR+FAR classification
  * tunmap: choose local GTP addr by Network Instance IEs
  * log: add missing sep in far_to_str
  * fix PFCP Session Mod: Update FAR
  * in GTP actions, also store local GTP addrs
  * nft: rename addr to addr_remote, add addr_local
  * nft: incoming GTP-U: match on local IP, not remote IP
  * nft: rewrite source IP in outgoing GTP-U
  * nft: log nft rulesets on debug log
  * nft: end each rule in semicolon
  * nft: ensure to assign rule id only once
  * GTP,UE addrs in osmo_sockaddr: assert( port == 0 )
  * nft: allow to get the ruleset string without running
  * vty: add: show nft-rule tunmap example
  * add cfg: tunmap / nft-rule append
  * nft: append 'accept' to each rule
  * tunend: choose local GTP addr by Network Instance IEs
  * manual: use 'tunend' and 'tunmap'
  * manual: explain new netinst cfg
  * manual: tweak 'running' for new netinst feature
  * manual: add charts explaining tunend and tunmap
  * manual: some tweaks in overview
  * manual: fix broken reference to netinst section
  * fix copy-paste bug in up_endpoint.c
  * fix deprecation: use telnet_init_default()
  * check rc of osmo_use_count_get_put()
  * error log: fix msg for gtp_del_tunnel() failure
  * fix various crashes on osmo_pfcp_endpoint_tx() err handling
  * osmo-pfcp-tool: avoid stale pointers on msg copy
  * fix some PFCP peer,session error handling paths
  * drop unused function up_peer_tx
  * move GTP port definitions to upf.h
  * deprecate cfg 'nft rule tunmap append'
  * tunmap: prep new nft ruleset: log only mapping id
  * tunmap: refactor nft ruleset: fix "martians" and "1024"
  * tunmap: ensure nft table is removed on program exit
  * osmo_pfcp_tool: make usable again
  * minor api doc
  * cosmetic: simplify naming: struct upf_tunmap, struct upf_tunend
  * cosmetic: reduce dup in tunnel struct definitions
  * cosmetic: rename g_upf->gtp to tunend, ->nft to tunmap
  * move next_teid from up_endpoint to g_upf
  * cosmetic: rename next_seid to next_up_seid
  * build: drop LIBOSMO_GTLV
  * build: add libupf.la (noinst)
  * add unique_ids_test.c
  * tunmap: ensure assigned chain_id is unused
  * cosmetic: clarify session active / partially active semantics
  * unique_ids_test.c: fix coverity ASSERT_SIDE_EFFECT
  * manual: fix typo in running.adoc
  * manual: 'Running': flatten section depths a bit
  * manual: 'Running': tweak, mention 'tunmap' and 'tunend'
  * manual: 'Running': tweak word, fix ws at line end
  * manual: explain GTP Echo workaround for tunmap
  * manual: explain IP forwarding
  * tunmap: always set GTP-U source port to 2152 when forwarding
  * vty doc fix
  * pfcp-tool: fix extra newline in vty_out
  * fix msgb memleak on GTP echo response
  * fix EXTRA_DIST for vty test scripts
  * drop unreachable statement
  * contrib/pfcp-tool-scripts: adjust tunend_session_est.vty and upf cfg to match up
  * upf gtp-u echo: improve loging
  * upf gtp-u echo: rx Echo Response messages
  * pfcp-tool: always use specific PDR ids for access and core
  * nft: batch nftables commands
  * osmo-upf: add VTY 'gtp-echo' command

  [ Max ]
  * Set working directory in systemd service file
  * ctrl: take both address and port from vty config
  * .deb/.rpm: add osmocom user during package install

  [ Vadim Yanitskiy ]
  * update git URLs (git -> https; gitea)
  * contrib/jenkins.sh: clone libnftnl and libnftables via git://
  * copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH

  [ arehbein ]
  * osmo-pfcp-tool: Fix call to strerror
  * up_session: Silence coverity warning

  [ Andreas Eversberg ]
  * Use uniform log format for default config files

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 11 Dec 2024 16:37:06 +0100

osmo-upf (0.1.1) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * configure.ac: do not require unused dlopen
  * Fix missing dash in Redmine project URL

  [ Harald Welte ]
  * add missing dependencies to libosmo-{gtlv,pfcp} to rpm + dpkg

  [ Neels Hofmeyr ]
  * add missing COPYING file
  * debian,RPM,configure: fix packaging (deps etc)

  [ Neels Janosch Hofmeyr ]
  * configure: set libosmocore >= 1.6.0 like in packaging

 -- Neels Janosch Hofmeyr <nhofmeyr@sysmocom.de>  Wed, 24 Aug 2022 16:50:56 +0200

osmo-upf (0.1.0) testing; urgency=low

  Create new Debian package.

 -- Neels Hofmeyr <nhofmeyr@sysmocom.de>  Tue, 16 Aug 2022 23:17:05 +0200
