Allocate RW lock in the constructor, if failed we will fail
the context initialization.
Free allocated CPU maps in the destructor, if allocated.
No need in "IsRSSinitialized" anymore.
Signed-off-by: Yuri Benditovich <[email protected]>
RSS parameters include object of read-write lock, but uses
memzero to clean all the members. Make order there:
- define RSS parameters as a class and initialize adapter
context in the constructor
- define dummy class for non-RSS build (to avoid more zebras)
- minimize additional configuration in InitRSSParameters
Signed-off-by: Yuri Benditovich <[email protected]>
When this feature is acked this changes the layout of
virtio header. It contains additional 8 bytes where
the device reports hash and hash type.
Signed-off-by: Yuri Benditovich <[email protected]>
This is useful in any kind of debugging and further development.
Procedures that receive RSS parameters as the parameter should
be able to access easily the fields of the adapter.
Signed-off-by: Yuri Benditovich <[email protected]>
If the device supports RSS the driver will report
device RSS capabilities (supported hash types) to
NDIS instead of software RSS impementation capabilities.
Signed-off-by: Yuri Benditovich <[email protected]>
For initial MQ configuration use proper command:
use RSS command with RSS off and proper number of
queues if available. Otherwise use old MQ command.
Signed-off-by: Yuri Benditovich <[email protected]>
Add DefaultQueue and DefaultProcessor to the structure.
Currently DefaultQueue=PARANDIS_RECEIVE_UNCLASSIFIED_PACKET,
so DefaultProcessor does not matter. In future these field
might be changed by SetRSSParameters on NDIS 6.80+.
Signed-off-by: Yuri Benditovich <[email protected]>
Pass the adapter context instead of passing its fields.
This is a preparation for further encapsulation.
Signed-off-by: Yuri Benditovich <[email protected]>
Pass adapter context instead of passing its fields.
This is a preparation for further encapsulation.
Signed-off-by: Yuri Benditovich <[email protected]>
This commit is a preparation for multiqueue implementation.
It itroduces changes driver's TX code structure the way
needed to allow creation of multiple independent transmit pathes.
Signed-off-by: Dmitry Fleytman <[email protected]>