About the e1000 ethernet emulation code, a little confuse.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,
when we configure the VM network using tap device, the actual send and
receive function is realized by writev and read system call. Is that
right? But when I look into the E1000 ehternet emulation code, the
start send function is start_xmit -> process_tx_desc->xmit_seg ->
qemu_send_packet->qemu_deliver_packet. The qemu_deliver_packet is
function traverse the sender list, calling each VlanClient's receive
function(register when init). If for the e1000, the receive function
registered is e1000_receive. If that flow is right, I have a puzzle on
e1000_receive, where only cpu_physical_memory_write/read is called,
which can invoke the start_xmit. Then how and when is the tap device
send/recv function called where the actual packet delivered to
harddevice?

Am I clear above?

And also , anyone can give me some light on when the packet send or
receive request yielded in GUEST OS reach the QEMU e1000,  What a role
does the KVM play durning the network packet deliver?

Thanks advance.

-- 
BestRegards.
YangLiang
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux