修改free5Gc源码重新编译某个网元的办法

在阅读free5Gc源码和进行一些功能验证的过程中,我们可能会发现free5Gc的源码实现是存在bug的。 以AMF网元为例,它的UEContextTransferProcedure缺少红框这句话进行实例化,导致请求时会触发空...

在阅读free5Gc源码和进行一些功能验证的过程中,我们可能会发现free5Gc的源码实现是存在bug的。

以AMF网米为例,它的UEContextTransferProcedure缺少红框这句话进行实例化,导致请求时会触发空指针异常:

为了让功能恢复正常可用,我们需要修改源码并重新编译,步骤如下。

一、下载free5Gc源码

git clone --recursive -b v3.0.3 -j `nproc` https://github.com/free5gc/free5gc.git
cd free5gc

git checkout master

git submodule sync

git submodule update --init --jobs `nproc`

git submodule foreach git checkout master

git submodule foreach git pull --jobs `nproc`

每个网米的源码都会在free5gc/src/{网米名称下},按需要进行修改。

二、重新编译amf

export CGO_ENABLED=0

go build -o bin/amf -x src/amf/amf.go

三、将编译后的amf重新拷贝到amf容器

sudo docker cp https://www.freebuf.com/articles/network/amf amf:/free5gc/amf/amf

四、重启amf容器

sudo docker stop amf

sudo docker start amf

  • 发表于 2021-04-15 22:15
  • 阅读 ( 150 )
  • 分类:互联网

0 条评论

请先 登录 后评论
周文卫
周文卫

691 篇文章

你可能感兴趣的文章

相关问题