freebsd-nq/sys/dev/virtio
Hans Petter Selasky c25290420e Start process of removing the use of the deprecated "M_FLOWID" flag
from the FreeBSD network code. The flag is still kept around in the
"sys/mbuf.h" header file, but does no longer have any users. Instead
the "m_pkthdr.rsstype" field in the mbuf structure is now used to
decide the meaning of the "m_pkthdr.flowid" field. To modify the
"m_pkthdr.rsstype" field please use the existing "M_HASHTYPE_XXX"
macros as defined in the "sys/mbuf.h" header file.

This patch introduces new behaviour in the transmit direction.
Previously network drivers checked if "M_FLOWID" was set in "m_flags"
before using the "m_pkthdr.flowid" field. This check has now now been
replaced by checking if "M_HASHTYPE_GET(m)" is different from
"M_HASHTYPE_NONE". In the future more hashtypes will be added, for
example hashtypes for hardware dedicated flows.

"M_HASHTYPE_OPAQUE" indicates that the "m_pkthdr.flowid" value is
valid and has no particular type. This change removes the need for an
"if" statement in TCP transmit code checking for the presence of a
valid flowid value. The "if" statement mentioned above is now a direct
variable assignment which is then later checked by the respective
network drivers like before.

Additional notes:
- The SCTP code changes will be committed as a separate patch.
- Removal of the "M_FLOWID" flag will also be done separately.
- The FreeBSD version has been bumped.

MFC after:	1 month
Sponsored by:	Mellanox Technologies
2014-12-01 11:45:24 +00:00
..
balloon xen/virtio: fix balloon drivers to not mark pages as WIRED 2014-06-25 09:51:08 +00:00
block Cleanup and performance improvement of the virtio_blk driver 2014-11-30 16:36:26 +00:00
console Several minor changes to hopefully complete the VirtIO console driver 2014-11-07 03:36:28 +00:00
mmio Add Virtio MMIO bus driver. 2014-11-18 14:11:14 +00:00
network Start process of removing the use of the deprecated "M_FLOWID" flag 2014-12-01 11:45:24 +00:00
pci Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h 2014-06-16 04:25:04 +00:00
random Wait for the callout to finish before unloading the module 2014-04-24 05:04:54 +00:00
scsi Prevent overflow issues in timeout processing 2014-11-21 21:01:24 +00:00
virtio_bus_if.m Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
virtio_config.h Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h 2014-06-16 04:25:04 +00:00
virtio_ids.h Split the virtio.h header file into multiple files 2014-06-01 18:16:01 +00:00
virtio_if.m Add optional VirtIO device method for post-attach notifications 2013-09-01 04:20:23 +00:00
virtio_ring.h
virtio.c Split the virtio.h header file into multiple files 2014-06-01 18:16:01 +00:00
virtio.h Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h 2014-06-16 04:25:04 +00:00
virtqueue.c print additional debugging info in virtqueue_dump() 2014-08-16 13:13:17 +00:00
virtqueue.h Add accessor to get the number of free descriptors in the virtqueue 2014-07-10 05:26:01 +00:00