• Tonghao Zhang's avatar
    net: openvswitch: expand the meters supported number · c7c4c44c
    Tonghao Zhang authored
    In kernel datapath of Open vSwitch, there are only 1024
    buckets of meter in one datapath. If installing more than
    1024 (e.g. 8192) meters, it may lead to the performance drop.
    But in some case, for example, Open vSwitch used as edge
    gateway, there should be 20K at least, where meters used for
    IP address bandwidth limitation.
    
    [Open vSwitch userspace datapath has this issue too.]
    
    For more scalable meter, this patch use meter array instead of
    hash tables, and expand/shrink the array when necessary. So we
    can install more meters than before in the datapath.
    Introducing the struct *dp_meter_instance, it's easy to
    expand meter though changing the *ti point in the struct
    *dp_meter_table.
    
    Cc: Pravin B Shelar <pshelar@ovn.org>
    Cc: Andy Zhou <azhou@ovn.org>
    Signed-off-by: default avatarTonghao Zhang <xiangxia.m.yue@gmail.com>
    Acked-by: default avatarPravin B Shelar <pshelar@ovn.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c7c4c44c
datapath.h 7.26 KB