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

[202205] dhcrelay: Don't look up the ifindex for the fallback interface (#17797) #18416

Merged
merged 1 commit into from
Mar 22, 2024

Commits on Mar 21, 2024

  1. dhcrelay: Don't look up the ifindex for the fallback interface (sonic…

    …-net#17797)
    
    Currently, whenever isc-dhcp-relay forwards a packet upstream,
    internally, it will try to send it on a "fallback" interface. My
    understanding is that this isn't meant to be a real interface, but
    instead is basically saying to use Linux's regular routing stack to
    route the packet appropriately (rather than having isc-dhcp-relay
    specify specifically which interface to use).
    
    The problem is that on systems with a weak CPU, a large number of
    interfaces, and many upstream servers specified, this can introduce a
    noticeable delay in packets getting sent. The delay comes from trying to
    get the ifindex of the fallback interface. In one test case, it got to
    the point that only 2 packets could be processed per second. Because of
    this, dhcrelay will easily get backlogged and likely get to a point
    where packets get dropped in the kernel.
    
    Fix this by adding a check saying if we're using the fallback interface,
    then don't try to get the ifindex of this interface. We're never going
    to have an interface named this in SONiC.
    
    Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
    saiarcot895 authored and yaqiangz committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    319359f View commit details
    Browse the repository at this point in the history