e1000 VLAN offload emulation (Alex Williamson)

We're currently ignoring the e1000 VLAN tagging, stripping and filtering
features in the e1000 emulation.  This patch adds backing for the
relevant registers and provides a software implementation of the
acceleration, such that a guest can make use of VLANs.

This is mostly (only?) useful for a guest on a bridge (not user mode
networking).  The only caveat beyond that is that you need to make sure
the host NIC isn't doing it's own tagging, stripping, or filtering.
This generally means the host NIC on the bridge should not be part of a
VLAN.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5766 c046a42c-6fe2-441c-8c8c-71466251a162
1 file changed
tree: 859895ad4685f5b68dc1096a194f6af1a442b003
  1. audio/
  2. bsd-user/
  3. darwin-user/
  4. fpu/
  5. gdb-xml/
  6. hw/
  7. keymaps/
  8. linux-user/
  9. pc-bios/
  10. slirp/
  11. target-alpha/
  12. target-arm/
  13. target-cris/
  14. target-i386/
  15. target-m68k/
  16. target-mips/
  17. target-ppc/
  18. target-sh4/
  19. target-sparc/
  20. tcg/
  21. tests/
  22. .gitignore
  23. a.out.h
  24. aes.c
  25. aes.h
  26. aio.c
  27. alpha-dis.c
  28. alpha.ld
  29. arm-dis.c
  30. arm-semi.c
  31. arm.ld
  32. block-bochs.c
  33. block-cloop.c
  34. block-cow.c
  35. block-dmg.c
  36. block-nbd.c
  37. block-parallels.c
  38. block-qcow.c
  39. block-qcow2.c
  40. block-raw-posix.c
  41. block-raw-win32.c
  42. block-vmdk.c
  43. block-vpc.c
  44. block-vvfat.c
  45. block.c
  46. block.h
  47. block_int.h
  48. bswap.h
  49. bt-host.c
  50. bt-vhci.c
  51. buffered_file.c
  52. buffered_file.h
  53. Changelog
  54. check_ops.sh
  55. cocoa.m
  56. configure
  57. console.c
  58. console.h
  59. COPYING
  60. COPYING.LIB
  61. cpu-all.h
  62. cpu-defs.h
  63. cpu-exec.c
  64. cris-dis.c
  65. curses.c
  66. curses_keys.h
  67. cutils.c
  68. d3des.c
  69. d3des.h
  70. def-helper.h
  71. dis-asm.h
  72. disas.c
  73. disas.h
  74. dyngen-exec.h
  75. dyngen.c
  76. elf.h
  77. elf_ops.h
  78. exec-all.h
  79. exec.c
  80. feature_to_c.sh
  81. gdbstub.c
  82. gdbstub.h
  83. gen-icount.h
  84. host-utils.c
  85. host-utils.h
  86. hostregs_helper.h
  87. hpet.h
  88. hppa-dis.c
  89. hppa.ld
  90. i386-dis.c
  91. i386.ld
  92. ia64.ld
  93. keymaps.c
  94. kqemu.c
  95. kqemu.h
  96. kvm-all.c
  97. kvm.h
  98. LICENSE
  99. loader.c
  100. m68k-dis.c
  101. m68k-semi.c
  102. m68k.ld
  103. MAINTAINERS
  104. Makefile
  105. Makefile.target
  106. migration-exec.c
  107. migration-tcp.c
  108. migration.c
  109. migration.h
  110. mips-dis.c
  111. mips.ld
  112. mipsel.ld
  113. monitor.c
  114. nbd.c
  115. nbd.h
  116. net-checksum.c
  117. net.c
  118. net.h
  119. osdep.c
  120. osdep.h
  121. ppc-dis.c
  122. ppc.ld
  123. ppc64.ld
  124. qemu-aio.h
  125. qemu-binfmt-conf.sh
  126. qemu-char.c
  127. qemu-char.h
  128. qemu-common.h
  129. qemu-doc.texi
  130. qemu-img.c
  131. qemu-img.texi
  132. qemu-lock.h
  133. qemu-log.h
  134. qemu-malloc.c
  135. qemu-nbd.c
  136. qemu-nbd.texi
  137. qemu-sockets.c
  138. qemu-tech.texi
  139. qemu-timer.h
  140. qemu-tool.c
  141. qemu_socket.h
  142. readline.c
  143. README
  144. s390-dis.c
  145. s390.ld
  146. savevm.c
  147. sdl.c
  148. sdl_keysym.h
  149. sh4-dis.c
  150. softmmu-semi.h
  151. softmmu_defs.h
  152. softmmu_exec.h
  153. softmmu_header.h
  154. softmmu_template.h
  155. sparc-dis.c
  156. sparc.ld
  157. sparc64.ld
  158. sys-queue.h
  159. sysemu.h
  160. tap-win32.c
  161. texi2pod.pl
  162. thunk.c
  163. thunk.h
  164. TODO
  165. translate-all.c
  166. uboot_image.h
  167. usb-linux.c
  168. VERSION
  169. vgafont.h
  170. vl.c
  171. vnc.c
  172. vnc_keysym.h
  173. vnchextile.h
  174. x86_64.ld
  175. x_keymap.c