[libvirt] [RFC] Porting Qemu driver to FreeBSD

Hi, Recently I have picked up Sean's and Hiren's activities in porting Qemu driver on FreeBSD. At this point I have the basics working. Meaning that these things work: - Basic host commands (version, nodeinfo, etc) - Can perform basic operations on the VM (start, stop, destroy, etc) - Basic bridging (bridge creation/removing, adding/removing interfaces, setting addresses etc) Currently I keep FreeBSD specific info here: https://github.com/novel/fbsd-libvirt/blob/freebsd/README-freebsd There are a number things to be done: - Firewall support. Currently I have just disabled iptables calls and add general ipfw NAT rules for all VMs. This appears to be the most tough part for me at this point for a number of reasons: * FreeBSD has two widely used firewall packages: pf and ipfw. I'm not sure if they play nice together, e.g. if I choose to use ipfw, people that have pf configuration will have problems making libvirt work with their existing setup * Need to design a general schema for injection of the rules so they don't harm existing setup ipfw seems to be more appealing for automatic control via external applications like libvirt, but I'm still not sure how to organise rulesets. - Affinity stuff needs to be implemented - Code needs a lot of clean-up, needs to be refactored to extract common cross-platfrom code, etc - NWFilter stuff needs to be implemented (this is sort of a long term goal) The code is available here: https://github.com/novel/fbsd-libvirt/tree/freebsd Current changes could be observed here: https://github.com/novel/fbsd-libvirt/compare/upstream_master...freebsd I would appreciate your thoughts and feedback on that topic. Thanks Roman Bogorodskiy

On 11/20/2012 10:07 AM, Roman Bogorodskiy wrote:
Hi,
Recently I have picked up Sean's and Hiren's activities in porting Qemu driver on FreeBSD.
At this point I have the basics working. Meaning that these things work:
- Basic host commands (version, nodeinfo, etc) - Can perform basic operations on the VM (start, stop, destroy, etc) - Basic bridging (bridge creation/removing, adding/removing interfaces, setting addresses etc)
Currently I keep FreeBSD specific info here:
https://github.com/novel/fbsd-libvirt/blob/freebsd/README-freebsd
Thanks for your porting efforts. Is this something where you have split it into a series of patches worth incorporating upstream?
The code is available here: https://github.com/novel/fbsd-libvirt/tree/freebsd
Current changes could be observed here:
https://github.com/novel/fbsd-libvirt/compare/upstream_master...freebsd
I would appreciate your thoughts and feedback on that topic.
You're more likely to get feedback by posting actual patches here, rather than pointing us to a repo and expecting us to crawl through the differences. But here's hoping we can improve the code base as a result of your efforts. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

Eric Blake wrote:
On 11/20/2012 10:07 AM, Roman Bogorodskiy wrote:
Hi,
Recently I have picked up Sean's and Hiren's activities in porting Qemu driver on FreeBSD.
At this point I have the basics working. Meaning that these things work:
- Basic host commands (version, nodeinfo, etc) - Can perform basic operations on the VM (start, stop, destroy, etc) - Basic bridging (bridge creation/removing, adding/removing interfaces, setting addresses etc)
Currently I keep FreeBSD specific info here:
https://github.com/novel/fbsd-libvirt/blob/freebsd/README-freebsd
Thanks for your porting efforts. Is this something where you have split it into a series of patches worth incorporating upstream?
The code is available here: https://github.com/novel/fbsd-libvirt/tree/freebsd
Current changes could be observed here:
https://github.com/novel/fbsd-libvirt/compare/upstream_master...freebsd
I would appreciate your thoughts and feedback on that topic.
You're more likely to get feedback by posting actual patches here, rather than pointing us to a repo and expecting us to crawl through the differences. But here's hoping we can improve the code base as a result of your efforts.
That sounds reasonable. I'll start working on creation of the sequential patches. Roman Bogorodskiy
participants (2)
-
Eric Blake
-
Roman Bogorodskiy