Diff for /qemu/slirp/if.c between versions 1.1.1.5 and 1.1.1.6

version 1.1.1.5, 2018/04/24 17:25:42 version 1.1.1.6, 2018/04/24 19:31:00
Line 6 Line 6
  */   */
   
 #include <slirp.h>  #include <slirp.h>
   #include "qemu-timer.h"
   
 #define ifs_init(ifm) ((ifm)->ifs_next = (ifm)->ifs_prev = (ifm))  #define ifs_init(ifm) ((ifm)->ifs_next = (ifm)->ifs_prev = (ifm))
   
Line 153  diddit: Line 154  diddit:
 void  void
 if_start(Slirp *slirp)  if_start(Slirp *slirp)
 {  {
       uint64_t now = qemu_get_clock_ns(rt_clock);
       int requeued = 0;
         struct mbuf *ifm, *ifqt;          struct mbuf *ifm, *ifqt;
   
         DEBUG_CALL("if_start");          DEBUG_CALL("if_start");
Line 199  if_start(Slirp *slirp) Line 202  if_start(Slirp *slirp)
                    ifm->ifq_so->so_nqueued = 0;                     ifm->ifq_so->so_nqueued = 0;
         }          }
   
         /* Encapsulate the packet for sending */          if (ifm->expiration_date < now) {
         if_encap(slirp, (uint8_t *)ifm->m_data, ifm->m_len);              /* Expired */
               m_free(ifm);
         m_free(ifm);          } else {
               /* Encapsulate the packet for sending */
               if (if_encap(slirp, ifm)) {
                   m_free(ifm);
               } else {
                   /* re-queue */
                   insque(ifm, ifqt);
                   requeued++;
               }
           }
   
         if (slirp->if_queued)          if (slirp->if_queued)
            goto again;             goto again;
   
           slirp->if_queued = requeued;
 }  }

Removed from v.1.1.1.5  
changed lines
  Added in v.1.1.1.6


unix.superglobalmegacorp.com