Skip to content

upf_plugin.so is not showing in the vpp terminal for upg v1.13 #407

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
aritra-nandy opened this issue Mar 2, 2025 · 2 comments
Open

Comments

@aritra-nandy
Copy link

aritra-nandy commented Mar 2, 2025

Hi,

I am using stable/1.13 and corresponding vpp version. After building the upf_plugin.so is showing in this path "/home/user/upg-vpp/fpp-vpp/vpp/build-root/install-vpp-native/vpp/lib/x86_64-linux-gnu/vpp_plugins" . But while running the vpp the upf_plugin is not loading hence when I use the command "show plugins" upf_plugin.so is not there.

Below is the startup.conf file I am using:
unix {
nodaemon
log vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid user

run vpp in the interactive mode

interactive

do not use colors in terminal output

nocolor

do not display banner

nobanner

exec /home/user/userplane/files/file-l3.sh
}
api-segment {
gid user
}

socksvr {
default
}
dpdk {
## Whitelist specific interface by specifying PCI address
# dev 0000:02:06.0

    ## Blacklist specific device type by specifying PCI vendor:device
    ## Whitelist entries take precedence
    # blacklist 8086:10fb

    ## Set interface name
     dev 0000:06:14.0 {
            name N4-SMF
     }
     dev 0000:06:13.0 {
            name N3-GNB
     }
     dev 0000:06:15.0 {
            name MEC
     }
     dev 0000:06:16.0 {
            name N6-DN       }

}
plugins {
## Adjusting the plugin path depending on where the VPP plugins are
path /home/user/upg-vpp/fpp-vpp/vpp/build-root/install-vpp-native/vpp/lib/x86_64-linux-gnu/vpp_plugins

    ## Disable all plugins by default and then selectively enable specific plugins
    # plugin default { disable }
     plugin dpdk_plugin.so { enable }
    # plugin acl_plugin.so { enable }
     plugin oddbuf_plugin.so { enable }
     plugin nat44_ed_plugin.so { enable }
    # plugin vmxnet3_test_plugin.so { enable }
    # plugin vrrp_test_plugin.so { enable }
    # plugin tlsopenssl_test_plugin.so { enable }
     plugin upf_plugin.so { enable }
    # plugin tracedump_test_plugin.so { enable }
    # plugin stn_test_plugin.so { enable }
    ## Enable all plugins by default and then selectively disable specific plugins
    # plugin dpdk_plugin.so { disable }
    # plugin acl_plugin.so { disable }

}

CMakelists.txt I am using for upf plugin:

Copyright (c) 2016 Cisco and/or its affiliates.

Copyright (c) 2018 Travelping GmbH

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

##############################################################################

UPF plugin

##############################################################################

message(STATUS "Looking for hyperscan")
pkg_check_modules(HS libhs)

if(HS_FOUND)
include_directories (${HS_INCLUDE_DIRS})

add_vpp_plugin(upf
SOURCES
upf.c
upf_api.c
upf_cli.c
upf_gtpu_encap.c
upf_gtpu_decap.c
upf_flow_node.c
upf_classify.c
upf_adf.c
upf_input.c
upf_forward.c
upf_session_dpo.c
pfcp.c
upf_pfcp.c
upf_pfcp_api.c
upf_pfcp_server.c
upf_pfcp_session_server.c
upf_proxy_accept.c
upf_proxy_input.c
upf_proxy_output.c
upf_tcp_forward.c
upf_proxy.c
upf_app_db.c
upf_ipfilter.c
upf_app_dpo.c
flowtable_init.c
flowtable.c
unittest.c

MULTIARCH_SOURCES

upf_gtpu_encap.c

upf_gtpu_decap.c

upf_flow_node.c

upf_classify.c

upf_proxy_accept.c

upf_proxy_input.c

upf_proxy_output.c

upf_tcp_forward.c

upf_input.c

upf_forward.c

upf_session_dpo.c

API_FILES
upf.api

INSTALL_HEADERS
upf.h
pfcp.h
upf_pfcp.h
upf_pfcp_api.h
upf_pfcp_server.h
upf_proxy.h
upf_app_db.h
upf_ipfilter.h
flowtable.h
flowtable_tcp.h
upf_buffer_opaque.h

LINK_LIBRARIES
${HS_LIBRARIES}

LINK_FLAGS
${HS_LDFLAGS}

COMPONENT
vpp-plugin-devtools

API_TEST_SOURCES

upf_test.c

)
#else()

message(WARNING "Hyperscan not found - GTP UPF disabled")

endif()

Please help me out

Thanks,
Aritra

@demo-exe
Copy link
Collaborator

demo-exe commented Mar 5, 2025

hey @aritra-nandy I haven't deeply looked into your configuration but I have encountered similar problem once before - when some symbols were missing from the .so, vpp would not load it and not produce any error messages - only indication something was wrong was missing entry in show plugins
hope this helps

@s5uishida
Copy link

Hi @aritra-nandy

I am using v1.13.0 as follows.

https://github.com/s5uishida/install_vpp_upf_dpdk#annex_1

show plugins is as follows.

vpp# show plugins 
 Plugin path is: /usr/local/vpp/lib/x86_64-linux-gnu/vpp_plugins/

     Plugin                                   Version                          Description
  1. upf_plugin.so                            v1.13.0                          User Plane Gateway
  2. dpdk_plugin.so                           22.10.0-33~g9c3f6d4cd            Data Plane Development Kit (DPDK)
vpp#

FYI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants