list_ip_routes should only fetch needed devices

Bug #2043564 reported by Adam Oswick
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
In Progress
Medium
Adam Oswick

Bug Description

Summary
-------
The list_ip_routes function calls privileged.get_link_devices to fetch all devices and then filters out just the ones that it actually wants.

Description
-----------
Fetching all devices, particularly in larger network namespaces, is slow. This seems to be a result of the (de)serialisation of data being sent between the privileged privsep process and the normal proc.

The list_ip_routes fetches all of these devices from the privileged process and then filters the result in the unprivileged process. However, privileged.get_link_devices accepts an argument for the interface index (RTA_OIF) allowing us to just ask the privileged process for the device we are actually interested in.

Pre-conditions
--------------
Nothing specific. This function always appears to this.

Step by step reproduction steps
-------------------------------
N/A

Expected output
---------------
The list_ip_routes function completes quickly and only fetches necessary data from the privsep process.

Actual output
-------------
The list_ip_routes function completes slowly (relatively speaking) and fetches excessive information from the privsep process, most of which is then discarded.

Version
-------
OpenStack Antelope

Adam Oswick (adamoswick)
Changed in neutron:
assignee: nobody → Adam Oswick (adamoswick)
Changed in neutron:
status: New → In Progress
Changed in neutron:
importance: Undecided → Medium
Revision history for this message
Brian Haley (brian-haley) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.