14f56d42cSAsias He #ifndef KVM__VIRTIO_NET_H 24f56d42cSAsias He #define KVM__VIRTIO_NET_H 34f56d42cSAsias He 45f225124SSasha Levin #include "kvm/parse-options.h" 55f225124SSasha Levin 64f56d42cSAsias He struct kvm; 7bdfcfca6SSasha Levin 89a6d73f1SSasha Levin struct virtio_net_params { 9bb8ffd2fSAsias He const char *guest_ip; 10bdfcfca6SSasha Levin const char *host_ip; 1173b7d038SAmos Kong const char *script; 12*eef27ae3SFan Du const char *downscript; 1369205aa1SAsias He const char *trans; 141dfc7c24SMarc Zyngier const char *tapif; 15bb8ffd2fSAsias He char guest_mac[6]; 16d7098b9bSAsias He char host_mac[6]; 17bb8ffd2fSAsias He struct kvm *kvm; 18bb1a32f1SAsias He int mode; 199ed67cdcSSasha Levin int vhost; 20f19edd1eSSasha Levin int fd; 2179052597SSasha Levin int mq; 22bdfcfca6SSasha Levin }; 23bdfcfca6SSasha Levin 245f225124SSasha Levin int virtio_net__init(struct kvm *kvm); 255f225124SSasha Levin int virtio_net__exit(struct kvm *kvm); 265f225124SSasha Levin int netdev_parser(const struct option *opt, const char *arg, int unset); 274f56d42cSAsias He 28ee883485SAsias He enum { 29ee883485SAsias He NET_MODE_USER, 30ee883485SAsias He NET_MODE_TAP 31ee883485SAsias He }; 32bb1a32f1SAsias He 334f56d42cSAsias He #endif /* KVM__VIRTIO_NET_H */ 34