xref: /kvmtool/include/kvm/virtio-net.h (revision eef27ae368562bcce4f8a2b65822b307da0d4146)
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