• Nicholas Nunley's avatar
    i40e/i40evf: restrict VC opcodes to their initial values · 396642a6
    Nicholas Nunley authored
    Until the time a more robust versioning scheme is needed/implemented all
    established virtual channel opcode values should remain consistent between
    updates to the opcode enum.
    
    This patch repositions I40E_VIRTCHNL_OP_CONFIG_RSS to the end of the enum. In
    its current position this opcode displaces the initial value of
    I40E_VIRTCHNL_OP_EVENT and will cause PF/VF compatibility issues.
    
    Going forward the expectation is either:
    	a) All future opcode additions will be added as the last element of the
    	enum. Once VF drivers start making use of the new commands the virtual
    	channel version will need to be incremented and drivers will need to
    	implement a simple version check whereby VF drivers can only load on
    	PFs with a >= version.
    	b) or, if needed, design and implement a more complicated API
    	negotiation capability.
    
    In either case PF drivers should always maintain backwards compatibility with
    earlier VF driver versions.
    
    Change-ID: Ie245daa09a231b6680ed793d648bdcc76caefe58
    Signed-off-by: default avatarNicholas Nunley <nicholas.d.nunley@intel.com>
    Tested-by: default avatarJim Young <james.m.young@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    396642a6
i40e_virtchnl.h 11.6 KB