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

Table entry timeout #17

Open
machadoatz opened this issue May 3, 2021 · 2 comments
Open

Table entry timeout #17

machadoatz opened this issue May 3, 2021 · 2 comments

Comments

@machadoatz
Copy link

I know that with p4-utils and its runtimeAPI, tables can support timeouts with support_timeout: true.
However I can only set the timeouts using the CLI features.

Is there any way to define the timeout period with a python controller and how can I intercept these packets at the controller?
I have been working with P4-utils but I think I might have to go with other repos that support P4Runtime.

@edgar-costa
Copy link
Collaborator

I am not sure what are you asking.

I honestly never used tables with timeout, and thus I am not sure I will be able to help you with what you need. But lets try.

You have a p4 program with tables that have timeouts enabled right? And you say that they can only be configured with the normal CLI? you mean simple_switch_CLI? I guess that feature could be easily added to the controller if its not working.

What do you mean by intercept those packets? Is there any event being triggered when an entry expires? Or what are those packets you are expecting to intercept.

And last thing, we are actually working on adding P4runtime support to p4-utils, it is currently under junota branch: https://github.com/nsg-ethz/p4-utils/tree/junota

@machadoatz
Copy link
Author

Sorry.

Yes, the simple_switch_CLI.

When an entry expires its possible to observe in the switch log warnings like:

- Sending ageing notification for table 'MyIngress.forward' (0)
- Ageing entry 0 in table 'MyIngress.forward'

If I'm not mistaken the timeouts should also trigger some kind of message from the switch to the controller warning about the expired entry, correct?
By intercepting packets, I meant to intercept these messages at the controller where I would then proceed to delete the corresponding entries.

I will check the branch features, thank you very much @edgar-costa

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