anchor.diff:               (virtio:virtio-ring-add-to-avail-ring rx-queue id)
                (setf (virtio:virtqueue-last-seen-used rx-queue)
                      (ldb (byte 16 0) (1+ (virtio:virtqueue-last-seen-used rx-queue))))))
  -         (nic:device-received-packet (virtio-net-wrapper nic) packet)))))
  +         (nic:device-received-packet nic packet)))))
   
   (defun virtio-net-do-transmit-processing (nic)
     (let* ((dev (virtio-net-virtio-device nic))
  
positive.code: and then some alignment.")
  (defconstant +virtio-net-n-tx-buffers+ 32)
  
  ;; FIXME: Should derive from NIC:NETWORK-CARD.
  (defstruct virtio-net
    mac
    virtio-device
    boot-id
    (lock (sup:make-mutex "Virtio-Net NIC lock"))
    (irq-latch (sup:make-latch "Virtio-Net NIC IRQ latch"))
    irq-handler-function
    worker-thread
    tx-virt
    tx-phys
    (free-tx-buffers nil)
    ;; Preallocated wired conses usable in the PA TX processing.
    (tx-buffer-freelist nil)
    ;; Packets waiting to be transmitted.
    (tx-pending '())
    (real-tx-pending '())
    rx-virt
    rx-phys
    (total-rx-bytes 0)
    (total-tx-bytes 0)
    (total-rx-packets 0)
    (total-tx-packets 0)
    wrapper)
  
  ;; FIXME: This should be merged with virtio-net.
  ;; Only exists for compatibility.
  (defclass virtio-net-network-card (mezzano.driver.network-card:network-card)
    ((vnet :initarg :vnet)))
  
  (defun check-virtio-net-boot (nic)
    (when (not (eql (virtio-net-boot-id nic) (sup:current-boot-id)))
  
negative.code: 
  (defun virtio-net-register (device)
    (sup:debug-print-line "Detected virtio net device " device)
    (let* ((nic (make-instance 'virtio-net
                               :virtio-device device
                               :boot-id (sup:current-boot-id)))
           (irq-handler (sup:make-simple-irq (virtio:virtio-device-irq device)
                                             (virtio-net-irq-latch nic))))
      (setf (virtio-net-irq-handler-function nic) irq-handler)
  