virtio-net: add tap_has_ufo flag to saved state

If we tell the guest we support UFO and then migrate to host which
doesn't support it, we will find ourselves in grave difficulties.

Prevent this scenario by adding a flag to virtio-net's savevm format
which indicates whether the device requires host UFO support.

[v2:
  - add has_ufo uint8_t field for ease of vmstate conversion
  - use qemu_error()
]

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
1 file changed
tree: 35a1e888d1e6b95cb023e51d55ef35b780856ac2
  1. audio/
  2. block/
  3. bsd-user/
  4. darwin-user/
  5. default-configs/
  6. fpu/
  7. gdb-xml/
  8. hw/
  9. linux-user/
  10. pc-bios/
  11. roms/
  12. slirp/
  13. target-alpha/
  14. target-arm/
  15. target-cris/
  16. target-i386/
  17. target-m68k/
  18. target-microblaze/
  19. target-mips/
  20. target-ppc/
  21. target-sh4/
  22. target-sparc/
  23. tcg/
  24. tests/
  25. .gitignore
  26. .gitmodules
  27. a.out.h
  28. acl.c
  29. acl.h
  30. aes.c
  31. aes.h
  32. aio.c
  33. alpha-dis.c
  34. alpha.ld
  35. arm-dis.c
  36. arm-semi.c
  37. arm.ld
  38. async.c
  39. balloon.h
  40. block.c
  41. block.h
  42. block_int.h
  43. bswap.h
  44. bt-host.c
  45. bt-host.h
  46. bt-vhci.c
  47. buffered_file.c
  48. buffered_file.h
  49. cache-utils.c
  50. cache-utils.h
  51. Changelog
  52. check-qdict.c
  53. check-qint.c
  54. check-qlist.c
  55. check-qstring.c
  56. cmd.c
  57. cmd.h
  58. cocoa.m
  59. CODING_STYLE
  60. config.h
  61. configure
  62. console.c
  63. console.h
  64. COPYING
  65. COPYING.LIB
  66. cpu-all.h
  67. cpu-common.h
  68. cpu-defs.h
  69. cpu-exec.c
  70. create_config
  71. cris-dis.c
  72. curses.c
  73. curses_keys.h
  74. cutils.c
  75. d3des.c
  76. d3des.h
  77. def-helper.h
  78. device_tree.c
  79. device_tree.h
  80. dis-asm.h
  81. disas.c
  82. disas.h
  83. dma-helpers.c
  84. dma.h
  85. dyngen-exec.h
  86. elf.h
  87. envlist.c
  88. envlist.h
  89. exec-all.h
  90. exec.c
  91. feature_to_c.sh
  92. gdbstub.c
  93. gdbstub.h
  94. gen-icount.h
  95. host-utils.c
  96. host-utils.h
  97. hostregs_helper.h
  98. hpet.h
  99. hppa-dis.c
  100. hppa.ld
  101. hxtool
  102. i386-dis.c
  103. i386.ld
  104. ia64.ld
  105. ioport-user.c
  106. ioport.c
  107. ioport.h
  108. keymaps.c
  109. keymaps.h
  110. kvm-all.c
  111. kvm.h
  112. libfdt_env.h
  113. LICENSE
  114. linux-aio.c
  115. m68k-dis.c
  116. m68k-semi.c
  117. m68k.ld
  118. MAINTAINERS
  119. Makefile
  120. Makefile.hw
  121. Makefile.target
  122. Makefile.user
  123. microblaze-dis.c
  124. migration-exec.c
  125. migration-fd.c
  126. migration-tcp.c
  127. migration-unix.c
  128. migration.c
  129. migration.h
  130. mips-dis.c
  131. mips.ld
  132. module.c
  133. module.h
  134. monitor.c
  135. monitor.h
  136. nbd.c
  137. nbd.h
  138. net-checksum.c
  139. net-queue.c
  140. net-queue.h
  141. net.c
  142. net.h
  143. osdep.c
  144. osdep.h
  145. path.c
  146. pci-ids.txt
  147. posix-aio-compat.c
  148. ppc-dis.c
  149. ppc.ld
  150. ppc64.ld
  151. qdict-test-data.txt
  152. qdict.c
  153. qdict.h
  154. qemu-aio.h
  155. qemu-binfmt-conf.sh
  156. qemu-char.c
  157. qemu-char.h
  158. qemu-common.h
  159. qemu-config.c
  160. qemu-config.h
  161. qemu-doc.texi
  162. qemu-img-cmds.hx
  163. qemu-img.c
  164. qemu-img.texi
  165. qemu-io.c
  166. qemu-lock.h
  167. qemu-log.h
  168. qemu-malloc.c
  169. qemu-monitor.hx
  170. qemu-nbd.c
  171. qemu-nbd.texi
  172. qemu-option.c
  173. qemu-option.h
  174. qemu-options.hx
  175. qemu-queue.h
  176. qemu-sockets.c
  177. qemu-tech.texi
  178. qemu-thread.c
  179. qemu-thread.h
  180. qemu-timer.h
  181. qemu-tool.c
  182. qemu.sasl
  183. qemu_socket.h
  184. qint.c
  185. qint.h
  186. qlist.c
  187. qlist.h
  188. qobject.h
  189. qstring.c
  190. qstring.h
  191. readline.c
  192. readline.h
  193. README
  194. rules.mak
  195. s390-dis.c
  196. s390.ld
  197. savevm.c
  198. sdl.c
  199. sdl_keysym.h
  200. sdl_zoom.c
  201. sdl_zoom.h
  202. sdl_zoom_template.h
  203. sh4-dis.c
  204. softmmu-semi.h
  205. softmmu_defs.h
  206. softmmu_exec.h
  207. softmmu_header.h
  208. softmmu_template.h
  209. sparc-dis.c
  210. sparc.ld
  211. sparc64.ld
  212. sysemu.h
  213. tap-linux.h
  214. tap-win32.c
  215. targphys.h
  216. tcg-runtime.c
  217. texi2pod.pl
  218. thunk.c
  219. thunk.h
  220. TODO
  221. translate-all.c
  222. uboot_image.h
  223. usb-bsd.c
  224. usb-linux.c
  225. usb-stub.c
  226. VERSION
  227. vgafont.h
  228. vl.c
  229. vnc-auth-sasl.c
  230. vnc-auth-sasl.h
  231. vnc-auth-vencrypt.c
  232. vnc-auth-vencrypt.h
  233. vnc-tls.c
  234. vnc-tls.h
  235. vnc.c
  236. vnc.h
  237. vnc_keysym.h
  238. vnchextile.h
  239. x86_64.ld
  240. x_keymap.c
  241. x_keymap.h