GithubHelp home page GithubHelp logo

john721 / gtp5g Goto Github PK

View Code? Open in Web Editor NEW

This project forked from free5gc/gtp5g

0.0 1.0 0.0 269 KB

GTP-U Linux Kernel Module

License: GNU General Public License v2.0

Makefile 0.89% C 99.11%

gtp5g's Introduction

gtp5g - 5G compatible GTP kernel module

gtp5g is a customized Linux kernel module gtp5g to handle packet by PFCP IEs such as PDR and FAR. For detailed information, please reference to 3GPP specification TS 29.281 and TS 29.244.

Notice

Due to the evolution of Linux kernel, this module would not work with every kernel version. Please run this module with kernel version 5.0.0-23-generic, upper than 5.4 (Ubuntu 20.04) or RHEL8.

Please check the libgtp5gnl version is the same as gtp5g, because the type translating between libgtp5gnl and gtp5g had been changed.

Usage

Compile

git clone https://github.com/free5gc/gtp5g.git && cd gtp5g
make clean && make

Install kernel module

Install the module to the system and load automatically at boot

sudo make install

Remove kernel module

Remove the kernel module from the system

sudo make uninstall

Create a gtp5g interface and update Rules

The gtp5g interface will be created by using libgtp5gnl scripts

  1. Checkout the latest or compatible source of libgtp5gnl
  2. cd libgtp5gnl
  3. Create an interface and update rules
    • sudo ./run.sh UPF_PDR_FAR_QER
  4. Troubleshoot
    dmesg
    
    # if UPF used legacy netlink struct without SEID, need use #SEID=0 to query related info as below:
    echo #interfaceName #SEID #PDRID > /proc/gtp5g/pdr
    echo #interfaceName #SEID #FARID > /proc/gtp5g/far
    echo #interfaceName #SEID #QERID > /proc/gtp5g/qer
    
    cat /proc/gtp5g/pdr
    cat /proc/gtp5g/far
    cat /proc/gtp5g/qer
    
  5. Delete an interface
    • sudo ./run.sh Clean
    • Note: It will delete list of rules and interface

gtp5g's People

Contributors

abousselmi avatar bjoern-r avatar cdonatom avatar chen042531 avatar edingroot avatar free5gc-org avatar john721 avatar leohung-free5gc avatar louisroyer avatar matsumu-y avatar mrlnc avatar muthuramanecs03g avatar niloysh avatar ravens avatar roy-hu avatar shouheinishi avatar shugo-h avatar tim-ywliu avatar yahsieh avatar zedr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.