opnsense-src/sys/dev/virtio
Conrad Meyer 7790c8c199 Split out a more generic debugnet(4) from netdump(4)
Debugnet is a simplistic and specialized panic- or debug-time reliable
datagram transport.  It can drive a single connection at a time and is
currently unidirectional (debug/panic machine transmit to remote server
only).

It is mostly a verbatim code lift from netdump(4).  Netdump(4) remains
the only consumer (until the rest of this patch series lands).

The INET-specific logic has been extracted somewhat more thoroughly than
previously in netdump(4), into debugnet_inet.c.  UDP-layer logic and up, as
much as possible as is protocol-independent, remains in debugnet.c.  The
separation is not perfect and future improvement is welcome.  Supporting
INET6 is a long-term goal.

Much of the diff is "gratuitous" renaming from 'netdump_' or 'nd_' to
'debugnet_' or 'dn_' -- sorry.  I thought keeping the netdump name on the
generic module would be more confusing than the refactoring.

The only functional change here is the mbuf allocation / tracking.  Instead
of initiating solely on netdump-configured interface(s) at dumpon(8)
configuration time, we watch for any debugnet-enabled NIC for link
activation and query it for mbuf parameters at that time.  If they exceed
the existing high-water mark allocation, we re-allocate and track the new
high-water mark.  Otherwise, we leave the pre-panic mbuf allocation alone.
In a future patch in this series, this will allow initiating netdump from
panic ddb(4) without pre-panic configuration.

No other functional change intended.

Reviewed by:	markj (earlier version)
Some discussion with:	emaste, jhb
Objection from:	marius
Differential Revision:	https://reviews.freebsd.org/D21421
2019-10-17 16:23:03 +00:00
..
balloon Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
block virtio(4): Add PNP match metadata for virtio devices 2019-06-04 02:37:11 +00:00
console virtio(4): Add PNP match metadata for virtio devices 2019-06-04 02:37:11 +00:00
mmio virtio: Fix running on machines with memory above 0xffffffff 2019-07-26 19:16:02 +00:00
network Split out a more generic debugnet(4) from netdump(4) 2019-10-17 16:23:03 +00:00
pci virtio: Fix running on machines with memory above 0xffffffff 2019-07-26 19:16:02 +00:00
random virtio(4): Add PNP match metadata for virtio devices 2019-06-04 02:37:11 +00:00
scsi VirtIO SCSI: validate seg_max on attach 2019-06-22 01:20:45 +00:00
virtio.c virtio(4): Expose PNP metadata through newbus 2019-06-04 02:34:59 +00:00
virtio.h virtio(4): Add PNP match metadata for virtio devices 2019-06-04 02:37:11 +00:00
virtio_bus_if.m Add VirtIO bus config_generation method 2018-02-19 19:28:24 +00:00
virtio_config.h Update VirtIO definitions from Linux virtio_config.h and virtio_ring.h headers 2018-06-17 20:45:48 +00:00
virtio_ids.h Sync VirtIO IDs with Linux 2018-01-14 06:03:40 +00:00
virtio_if.m
virtio_ring.h Update VirtIO definitions from Linux virtio_config.h and virtio_ring.h headers 2018-06-17 20:45:48 +00:00
virtqueue.c Add more virtqueue getter methods 2018-02-19 19:31:18 +00:00
virtqueue.h Add more virtqueue getter methods 2018-02-19 19:31:18 +00:00