Giter Site home page Giter Site logo

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.

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

Check Rules

Get PDR/FAR/QER information by "/proc"

# 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

Enable/Disable QoS (Default is disabled)

Support Session AMBR and MFBR.

  1. Check whether QoS is enabled or disabled. (1 means enabled, 0 means disabled)
    cat /proc/gtp5g/qos
    
  2. Enable or disable QoS
    • enable
      echo 1 >  /proc/gtp5g/qos
      
    • disable
      echo 0 >  /proc/gtp5g/qos
      

Enable/Disable GTP-U Sequence Number (Default is enabled)

Support GTP-U Sequence Number.

  1. Check whether GTP-U Sequence Number is enabled or disabled. (1 means enabled, 0 means disabled)
    cat /proc/gtp5g/seq
    
  2. Enable or disable GTP-U Sequence Number
    • enable
      echo 1 >  /proc/gtp5g/seq
      
    • disable
      echo 0 >  /proc/gtp5g/seq
      

Log Related

  1. check log
    dmesg
    
  2. update log level
    # [number] is 0~4 
    # e.g. echo 4 > /proc/gtp5g/dbg
    echo [number] > /proc/gtp5g/dbg
    

Tools

gtp5g's People

Contributors

muthuramanecs03g avatar chen042531 avatar tim-ywliu avatar roy-hu avatar shouheinishi avatar free5gc-org avatar bjoern-r avatar shugo-h avatar leohung-free5gc avatar edingroot avatar aakashchan avatar jessetu75 avatar john721 avatar ianchen0119 avatar robertttbs avatar matsumu-y avatar abousselmi avatar ravens avatar zedr avatar afcidk avatar niloysh avatar mrlnc avatar lucasoshiro avatar louisroyer avatar cdonatom avatar yahsieh avatar awandke 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.