anchor.diff:  	 (tha-start (+ spa-start plen))
   	 (tpa-start (+ tha-start hlen))
   	 (packet-end (+ tpa-start plen))
  -	 (merge-flag nil))
  +	 (merge-flag nil)
  +         (address (ipv4-interface-address interface nil)))
       ;; Ethernet hardware type and IPv4.
       (when (and (eql htype +arp-hrd-ethernet+) (eql hlen 6)
   	       (eql ptype +ethertype-ipv4+) (eql plen 4))
  
positive.code: 	      (dotimes (i 6)
  		(setf (aref packet (+ 6 i)) (aref mac i)
  		      (aref packet (+ sha-start i)) (aref mac i))))
  	    (setf (ub32ref/be packet spa-start) (ipv4-interface-address interface)
  		  (ub16ref/be packet 20) +arp-op-reply+)
  	    (transmit-packet interface (list packet))))))))
  
  
negative.code: (defun ifdown (nic)
    (setf (getf *ipv4-interfaces* nic) nil))
  
  (defun ipv4-interface-address (nic &optional (errorp t))
    (or (getf *ipv4-interfaces* nic)
        (and errorp
             (error "No IPv4 address for interface ~S." nic))))
  
  ;;; The ARP table is a list of lists. Each list holds:
  ;;; (protocol-type protocol-address network-address age)
  