-[](https://linuxcontainers.org/lxd)
+
# LXC
LXC is the well-known and heavily tested low-level Linux container runtime. It
`lxc.net.0.type`, `lxc.net.0.link`, `lxc.net.0.ipv6.address`, and others for
even more fine-grained configuration.
-LXC is used as the default runtime for [LXD](https://github.com/lxc/lxd),
+LXC is used as the default runtime for [Incus](https://github.com/lxc/incus),
a container hypervisor exposing a well-designed and stable REST-api on top of
it.
* controller after the container has started and so
* the container doesn't make use of this controller.
*
- * Link: https://github.com/lxc/lxd/issues/8577
+ * Link: https://github.com/canonical/lxd/issues/8577
*/
TRACE("Skipping unused %s controller", maybe_empty(h->controllers[0]));
continue;
#
# lxc.network.type = veth
# lxc.network.flags = up
-# lxc.network.link = lxdbr0
+# lxc.network.link = lxcbr0
# lxc.network.name= eth0
#
# lxc.network.type = veth
# lxc.network.flags = up
-# lxc.network.link = lxdbr0
+# lxc.network.link = lxcbr0
# lxc.network.name = eth1
set +e
* all fiddle with global variables and locking in various libcs. They cause
* deadlocks when liblxc is used multi-threaded and no matter how smart you
* think you are, you __will__ cause trouble using them.
- * (As a short example how this can cause trouble: LXD uses forkstart to fork
+ * (As a short example how this can cause trouble: Incus uses forkstart to fork
* off a new process that runs the container. At the same time the go runtime
- * LXD relies on does its own multi-threading thing which we can't control. The
+ * Incus relies on does its own multi-threading thing which we can't control. The
* fork()ing + threading then seems to mess with the locking states in these
* time functions causing deadlocks.)
* The current solution is to be good old unix people and use the Epoch as our
" mount fstype=proc -> /usr/lib/*/lxc/**,\n"
" mount fstype=sysfs -> /usr/lib/*/lxc/**,\n"
"\n"
-" # Allow nested LXD\n"
-" mount none -> /var/lib/lxd/shmounts/,\n"
-" mount /var/lib/lxd/shmounts/ -> /var/lib/lxd/shmounts/,\n"
-" mount options=bind /var/lib/lxd/shmounts/** -> /var/lib/lxd/**,\n"
+" # Allow nested Incus\n"
+" mount none -> /var/lib/incus/shmounts/,\n"
+" mount /var/lib/incus/shmounts/ -> /var/lib/incus/shmounts/,\n"
+" mount options=bind /var/lib/incus/shmounts/** -> /var/lib/incus/**,\n"
"\n"
" # TODO: There doesn't seem to be a way to ask for:\n"
" # mount options=(ro,nosuid,nodev,noexec,remount,bind),\n"
* based on those random devices names to the target name.
*
* Note that the transient name is based on the type of network device as
- * specified in the LXC config. However, that doesn't mean it's correct. LXD
+ * specified in the LXC config. However, that doesn't mean it's correct. Incus
* passes veth devices and a range of other network devices (e.g. Infiniband
* VFs etc.) via LXC_NET_PHYS even though they're not really "physical" in the
* sense we like to think about it so you might see a veth device being
goto clear_ifindices;
/* Explicitly delete host veth device to prevent lingering
- * devices. We had issues in LXD around this.
+ * devices. We had issues in Incus around this.
*/
if (!is_empty_string(netdev->priv.veth_attr.pair))
hostveth = netdev->priv.veth_attr.pair;
goto out_warn_father;
/* Unshare CLONE_NEWNET after CLONE_NEWUSER. See
- * https://github.com/lxc/lxd/issues/1978.
+ * https://github.com/canonical/lxd/issues/1978.
*/
if (handler->ns_unshare_flags & CLONE_NEWNET) {
ret = unshare(CLONE_NEWNET);
goto non_test_error;
}
- if (set_get_compare_clear_save_load(c, "lxc.cgroup.dir", "lxd", tmpf, true)) {
+ if (set_get_compare_clear_save_load(c, "lxc.cgroup.dir", "incus", tmpf, true)) {
lxc_error("%s\n", "lxc.cgroup.dir");
goto non_test_error;
}