← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2043564] [NEW] list_ip_routes should only fetch needed devices

 

Public bug reported:

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

** Affects: neutron
     Importance: Undecided
     Assignee: Adam Oswick (adamoswick)
         Status: In Progress

** Changed in: neutron
     Assignee: (unassigned) => Adam Oswick (adamoswick)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2043564

Title:
  list_ip_routes should only fetch needed devices

Status in neutron:
  In Progress

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2043564/+subscriptions