1. 13 3月, 2012 2 次提交
    • J
      slirp: Prevent recursion of if_start · 953e7f54
      Jan Kiszka 提交于
      if_start can be called recursively via if_encap. Avoid this as our
      scheme of dequeuing packets is not compatible with this.
      
      CC: Fabien Chouteau <chouteau@adacore.com>
      CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
      CC: Stefan Weil <sw@weilnetz.de>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      953e7f54
    • J
      slirp: Keep next_m always valid · d6536b2c
      Jan Kiszka 提交于
      Make sure that next_m always points to a packet if batchq is non-empty.
      This will simplify walking the queues in if_start.
      
      CC: Fabien Chouteau <chouteau@adacore.com>
      CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
      CC: Stefan Weil <sw@weilnetz.de>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      d6536b2c
  2. 27 2月, 2012 3 次提交
    • J
      slirp: Refactor if_start · b87ffa16
      Jan Kiszka 提交于
      Replace gotos with a while loop, fix coding style.
      
      CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
      CC: Fabien Chouteau <chouteau@adacore.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      b87ffa16
    • J
      slirp: Fix requeuing of batchq packets in if_start · b248ede2
      Jan Kiszka 提交于
      In case we requeued a packet that was the head of a longer session
      queue, we failed to restore this ordering. Also, we did not properly
      deal with changes to Slirp::next_m.
      
      Instead of a cumbersome roll back, this fix simply avoids any changes
      until we know if the packet was actually sent. Both fixes crashes due
      to inconsistent queues and simplifies the logic.
      
      Thanks to Zhi Yong Wu who found the reason for these crashes.
      
      CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
      CC: Fabien Chouteau <chouteau@adacore.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      b248ede2
    • J
      slirp: Clean up ifs_init · 79e7e937
      Jan Kiszka 提交于
      Remove duplicate ifs_init macros, reimplement the logic as static inline
      in mbuf.h.
      
      CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
      CC: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      79e7e937
  3. 05 8月, 2011 2 次提交
  4. 03 8月, 2011 1 次提交
    • F
      Delayed IP packets · 1ab74cea
      Fabien Chouteau 提交于
      In the current implementation, if Slirp tries to send an IP packet to a client
      with an unknown hardware address, the packet is simply dropped and an ARP
      request is sent (if_encap in slirp/slirp.c).
      
      With this patch, Slirp will send the ARP request, re-queue the packet and try
      to send it later. The packet is dropped after one second if the ARP reply is
      not received.
      Signed-off-by: NFabien Chouteau <chouteau@adacore.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      1ab74cea
  5. 29 6月, 2009 4 次提交
  6. 07 3月, 2009 1 次提交
  7. 01 10月, 2008 1 次提交
  8. 18 8月, 2008 1 次提交
  9. 10 5月, 2008 1 次提交
  10. 27 10月, 2007 2 次提交
  11. 17 9月, 2007 2 次提交
  12. 11 5月, 2006 1 次提交
  13. 08 10月, 2004 1 次提交
  14. 14 9月, 2004 1 次提交
  15. 22 4月, 2004 1 次提交