Code drop.
Add ipfw support to FreeNAS. This allows VIMAGE jails to use NAT.
Modify ix-jail, ix-nginx and ix-plugins to work with multiple plugin jails. Fix ix-nis bug where nis_start didn't exist (it was complaining at boot time, this shuts it up).
Add jail_get_* functions that wrap around the Warden and are used in various rc.d scripts to handle jails and plugins.
Add functions that determine if an IP address is IPv4 or IPv6 and if the IP address is in a given network for both IPv4 and IPv6. These functions rely on sipcalc, which is part of FreeNAS.
Bring trunk changes into pluginjail branch (including updating to FreeBSD
9.x)
manual merge of trunk stuff to get build to work.
Add jail migration for ipv4 and ipv6 jail fields
Bring in warden network changes not in SVN. Currently does not work. Changes includes allowing networks and routers to be specified as well as various network test functions.
Testing git push
Configure bridge and nat for jails. For every jail, if router is specified, add it, if bridge ip is specified, configure bridge with alias, if no router specified and bridge ip is, use it as default route for jail. Also fire up ipfw and natd so jails can access the internet.
Make NAT work on startup, requires some manual intervention
Fix pbi-wrapper bug and add sipcalc network functions. pbi-wrapper had BINDIR defined incorrectly. Specifically add sources so that binary can be .pbiwrapper and can be installed into /usr/pbi. sipcalc network functions added so that ipv4 and ipv6 network functions can be utilized.
Modified warden to have enough room to list jails with IPv6 addresses. Modified sipcalc class to have to_decimal(), to_ip(), and overloaded the class to be able to do arithmetic operations on IPv4 and IPv6 addresses.
Force string conversion for sipcalc_type arguments. This allows other sipcalc_type's to be passed as arguments without puking and working as expected if a string were passed.
Hide most fields under advanced mode. If a network is configured for the jails, assign an address from the network to the newly created jail.
Segregate ipv4 and ipv6. Allow jail creation without IP address. Modify set and get options to use new ipv4/ipv6 configuration options. Allow bridge and default router configuration for ipv4/ipv6. Add -v switch to list option so that all jail information can be displayed. The only issue found with all of this at this point is if no IPv(4|6) address is configured, an epair device will still be created.
Update set example to use new syntax
Update warden python bindings to the new world order.
More Warden modifications. Allow jails to be specified to the warden list option. This lets you see the settings for a single jail without spamming the screen with everything else.