• Hans Wippel's avatar
    s390/qeth: add VNICC enable/disable support · caa1f0b1
    Hans Wippel authored
    HiperSocket devices allow enabling and disabling so called VNIC
    Characteristics (VNICC) that influence how the underlying hardware
    handles packets. These VNICCs are:
    
    * Flooding VNICC: Flooding allows specifying if packets to unknown
      destination MAC addresses are received by the qeth device.
    
    * Multicast flooding VNICC: Multicast flooding allows specifying if
      packets to multicast MAC addresses are received by the qeth device.
    
    * Learning VNICC: If learning is enabled on a qeth device, the device
      learns the source MAC addresses of outgoing packets and incoming
      packets to those learned MAC addresses are received.
    
    * Takeover setvmac VNICC: If takeover setvmac is configured on a qeth
      device, the MAC address of this device can be configured on a
      different qeth device with the setvmac IPA command.
    
    * Takeover by learning VNICC: If takeover learning is enabled on a qeth
      device, the MAC address of this device can be learned (learning VNICC)
      on a different qeth device.
    
    * BridgePort invisible VNICC: If BridgePort invisible is enabled on a
      qeth device, (1) packets from this device are not sent to a BridgePort
      enabled qeth device and (2) packets coming from a BridgePort enabled
      qeth device are not received by this device.
    
    * Receive broadcast VNICC: Receive broadcast allows configuring if a
      qeth device receives packets with the broadcast destination MAC
      address.
    
    This patch adds support for the IPA commands that are required to enable
    and disable these VNIC characteristics on qeth devices. As a
    prerequisite, it also adds the query commands IPA command.
    
    The query commands IPA command allows requesting the supported commands
    for each characteristic from the underlying hardware.
    
    Additionally, this patch provides users with a sysfs user interface to
    enable/disable the VNICCs mentioned above.
    Signed-off-by: default avatarHans Wippel <hwippel@linux.vnet.ibm.com>
    Reviewed-by: default avatarJulian Wiedmann <jwi@linux.vnet.ibm.com>
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.vnet.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    caa1f0b1
qeth_core.h 27.6 KB