Skip to content
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

why (*InterfaceVppHandler).DumpInterfaces fail? #1934

Open
ChenYahui2019 opened this issue Jul 26, 2023 · 3 comments
Open

why (*InterfaceVppHandler).DumpInterfaces fail? #1934

ChenYahui2019 opened this issue Jul 26, 2023 · 3 comments

Comments

@ChenYahui2019
Copy link

ChenYahui2019 commented Jul 26, 2023

I developed a new plugin that calls (*InterfaceVppHandler).DumpInterfaces per second.

After a while, the errors started. The error message is:
dumping memif socket details failed: all channel IDs are in use

VPP version: v22.10
vpp-agent version: v3.5.0

# vppctl show memif
sockets
  id  listener    filename
  0   no          /run/vpp/memif.sock

# ls /run/vpp/
api.sock  cli.sock  snort.sock  stats.sock
@pemoticak
Copy link
Collaborator

Hello @ChenYahui2019, upon VERY brief inspection from my side the cause of the all channel IDs are in use error is that all channels in GoVPP channel pool get used up. It is hard to tell exactly why that happens as I do not know how your plugin works, but I know a bug related to GoVPP channel pool exhausting all channel IDs was fixed in GoVPP. Not sure if that bug is indeed the cause of your problem, but if it is, then your issue should get fixed once vpp-agent is updated to use GoVPP 0.8.0

@ChenYahui2019
Copy link
Author

Thx for your reply.

I create a ifHandler using below:

p.ifHandler = ifvppcalls.CompatibleInterfaceVppHandler(p.VPP, p.Log)

then, call below API every second to get traffic statistics:

p.ifHandler.DumpInterfaces(context.TODO())

@pemoticak
Copy link
Collaborator

GoVPP got updated to 0.8.0 in commit f4fe5e7. If you decide to test your plugin with vpp-agent build that contains this commit, please let me know if it fixed your issue. Thanks.

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

2 participants