Skip to content

Commit

Permalink
Housekeeping
Browse files Browse the repository at this point in the history
  • Loading branch information
wmnsk committed Dec 23, 2023
1 parent 7d5c387 commit 1c6f9e4
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 11 deletions.
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ A comprehensive PFCP implementation in the Go programming language.

## What is PFCP?

PFCP (Packet Forwarding Control Protocol) is a signaling protocol used in mobile networking infrastruct, such as EPC and 5GC, to implement the CUPS architecture (Control and User Plane Separation, not a printing system). This architecture and the protocol detail is defined in 3GPP TS 29.244.
PFCP (Packet Forwarding Control Protocol) is a signaling protocol used in mobile core network, such as EPC and 5GC, to implement the CUPS architecture (Control and User Plane Separation, not a printing system). The architecture and the protocol detail is defined in 3GPP TS 29.244.

Are you also searching for a GTP implementation in Go? If so, [go-gtp](https://github.com/wmnsk/go-gtp) is the perfect choice for you! :p

## Project Status

This project is still WIP.
Implementation of all the messages and IEs defined in TS 29.244 V16.7.0 (2021-04) has been done, but the exported APIs may still be updated in the future (we add a new tag in that case).
This project is EXPERIMENTAL.
Implementation of most of the messages and IEs defined in TS 29.244 V16.7.0 (2021-04) has been done, but the exported APIs may still be updated in the future (we add a new tag in that case).

We are now working on implementing networking functionalities (like setting up associations, establish sessions with easy & quick APIs), as well as updating the messages and IE definitions according to the latest specifications.
This library does not include the networking functionalities such as association setup, message delivery, and session management. We noticed that there are many ways to implement those functionalities depending on the use cases, so we decided to leave them to the users. [louisroyer/go-pfcp-networking](https://github.com/louisroyer/go-pfcp-networking) is a good example of how to implement those functionalities.

## Getting Started

Expand All @@ -32,6 +32,9 @@ go-pfcp supports Go Modules. Run `go mod tidy` in your project's directory to co
Small heartbeat client and server examples are available under [examples/heartheat](./examples/heartheat/).
The client sends a Heartbeat Request, and the server responds to it with a Heartbeat Response.

<details>
<summary>Click here to see details</summary>

1. Run the server

By default, the server listens on loopback. The address/port can be specified explicitly by the `-s` flag.
Expand Down Expand Up @@ -74,6 +77,8 @@ go-pfcp/examples/heartbeat/hb-server$ go run main.go

_The server continues to listen on the same port until it is terminated (by Ctrl-C or something)._

</details>

## Features

### Messages
Expand Down Expand Up @@ -800,7 +805,7 @@ IEs are implemented in conformance with TS 29.244 V16.7.0 (2021-04). The word "s

## Author(s)

Yoshiyuki Kurauchi ([Website](https://wmnsk.com/))
[Yoshiyuki Kurauchi](https://wmnsk.com/) and [contributors](https://github.com/wmnsk/go-pfcp/graphs/contributors).

_I'm always open to welcome co-authors! Please feel free to talk to me._

Expand Down
4 changes: 1 addition & 3 deletions doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,5 @@
// Package pfcp provides simple and painless handling of PFCP(Packet Forwarding Control Protocol),
// implemented in the Go Programming Language.
//
// THIS PROJECT IS STILL WIP.
// It has the full definitions of messages and IEs as of V16.3.1(2020-04), TS29.244, but the
// networking functionalities are not available at this moment.
// THIS PROJECT IS STILL EXPERIMENTAL. Everything might be changed without any notice.
package pfcp
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ module github.com/wmnsk/go-pfcp
go 1.21

require (
github.com/google/go-cmp v0.5.9
github.com/google/go-cmp v0.6.0
github.com/pascaldekloe/goe v0.1.1
)
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/pascaldekloe/goe v0.1.1 h1:Ah6WQ56rZONR3RW3qWa2NCZ6JAVvSpUcoLBaOmYFt9Q=
github.com/pascaldekloe/goe v0.1.1/go.mod h1:KSyfaxQOh0HZPjDP1FL/kFtbqYqrALJTaMafFUIccqU=

0 comments on commit 1c6f9e4

Please sign in to comment.