• Michal Wilczynski's avatar
    ice: Introduce enabling promiscuous mode on multiple VF's · d7393425
    Michal Wilczynski authored
    In current implementation default VSI switch filter is only able to
    forward traffic to a single VSI. This limits promiscuous mode with
    private flag 'vf-true-promisc-support' to a single VF. Enabling it on
    the second VF won't work. Also allmulticast support doesn't seem to be
    properly implemented when vf-true-promisc-support is true.
    
    Use standard ice_add_rule_internal() function that already implements
    forwarding to multiple VSI's instead of constructing AQ call manually.
    
    Add switch filter for allmulticast mode when vf-true-promisc-support is
    enabled. The same filter is added regardless of the flag - it doesn't
    matter for this case.
    
    Remove unnecessary fields in switch structure. From now on book keeping
    will be done by ice_add_rule_internal().
    
    Refactor unnecessarily passed function arguments.
    
    To test:
    1) Create 2 VM's, and two VF's. Attach VF's to VM's.
    2) Enable promiscuous mode on both of them and check if
       traffic is seen on both of them.
    Signed-off-by: default avatarMichal Wilczynski <michal.wilczynski@intel.com>
    Tested-by: default avatarMarek Szlosek <marek.szlosek@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    d7393425
ice_lib.c 110 KB