l2tp: Fix get_tunnel/get_session to return only requested object #1134
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
L2TP does not support using filters on NLM_F_DUMP and always returns all objects. The current get_tunnel/session functions however always use NLM_F_DUMP and set the tunnel/session ids if provided by the caller. These are simply ignored.
This patch fixes get_tunnel and get_session to always require specifying the desired tunnel/session id to always get one requested object. If the requested object does not exist an NetlinkError is thrown.
To also provide a way to get all tunnels/sessions dump_tunnels and dump_sessions has been introduced.
Note that does does change the signature of
get_tunnel
andget_session
. I've also adjusted the return value to return the onel2tpmsg
message we get, so users don't need a odd[0]
anymore.