From: Libo Chen <clbchenlibo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
To: Serge Hallyn <serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org>
Cc: hadi-fAAogVwAN2Kw5LPnMra/2Q@public.gmane.org,
containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
karma-sWkBwLop/e8RbODiWk9XIg@public.gmane.org,
takano-ryousei-XSdjUN4cZ6fPDbFq/vQRIQ@public.gmane.org,
caglar-mM0DFpta8ko@public.gmane.org,
dlezcano-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org,
"zhangwei(Jovi)"
<jovi.zhangwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
stgraber-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org,
james.hunt-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org
Subject: Re: a work for lxc monitor network interface
Date: Thu, 9 Jan 2014 20:29:20 +0800 [thread overview]
Message-ID: <52CE9620.9040108@huawei.com> (raw)
In-Reply-To: <20140106165545.GC7123@sergelap>
On 2014/1/7 0:55, Serge Hallyn wrote:
> Quoting Libo Chen (clbchenlibo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org):
>> On 2013/12/19 4:16, Serge Hallyn wrote:
>>> Quoting Libo Chen (clbchenlibo.chen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org):
>>>> Hello LXC experts,
>>>>
>>>> lxc tool can set network interface by config, but it is static.
>>>> In some scene, the network interface will be dynamic created on the host
>>>> and need be shared to container, but it is not suitable to do by hand,
>>>> so lxc can not work for it.
>>>>
>>>> I also know lxc_user_nic() can only do a part of work, but we have
>>>> two more work:
>>>> 1. grasp the netlink/uevent message about network interface online
>>>> 2. config interface attached to container ip address .
>>>>
>>>> so it can not fully meet my requirements.
>>>>
>>>> I want there is a monitor can work for network interface hotplug.
>>>>
>>>> 1. read config form config file, it describe monitor which network interface
>>>> and what's the network configuration
>>>> 2. grasp the netlink/uevent message about network interface online on the host
>>>> 3. create veth pair, put veth attach to container and bridge
>>>> 4. config the veth attached to container ipaddr
>>>>
>>>>
>>>> netlink create veth pair
>>>> monitor ---> read config -------> veth0 attach to container --> config ipaddr
>>>> veth1 attach to bridge
>>>>
>>>> monitor may be the lxc-start or a child forked by lxc-start.
>>>>
>>>>
>>>> Is this reasonable? If so, I'd like to do it.
>>>
>>> I'm not quite clear on what you're trying to do, but it sounds like you
>>> could use a udev rule, triggered on the nic creation, and use lxc-device
>>> from inside that rule to attach the nic to the container.
>>>
>> hi Serge,
>>
>> using udev rule is a good idea, but not common. for instance android uses ueventd and
>> busybox uses mdev, sometimes nothing at all.
>>
>> so how about lxc itself provides this feature?
>
> Just one more question - what would the configuration look like?
> Especially, what would the monitor be looking for? How would it
> recognzie a link that came up as being the one which the container
> should be attached to? (We're constantly reminded that the names
> cannot be unambiguously used to identify a physical link)
>
My idea is this, may not reason.
1. I would like to add a field 'lxc.network.dynamic' which describes a static
or dynamic nic in config file.
if lxc.network.dynamic = false(default false), lxc should go as before,else it means
the following device will appear in a future time.
e.g.
lxc.network.dynamic = true
lxc.network.type = veth // need veth mode to container
lxc.network.flags = up
lxc.network.link = br0 // be attached to
lxc.network.name = ppp0 //monitor nic ppp0
e.g.
lxc.network.dynamic = true
lxc.network.type = phys // direct to container
lxc.network.flags = up
lxc.network.name = ppp0 //monitor nic ppp0
2.the monitor should look for uevent, since uevent message includes interface name like:
add@/devices/virtual/net/veth5
ACTION=add
DEVPATH=/devices/virtual/net/veth5
SUBSYSTEM=net
INTERFACE=veth5 ****
IFINDEX=19
SEQNUM=12292
> .
>
next prev parent reply other threads:[~2014-01-09 12:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-18 8:36 a work for lxc monitor network interface Libo Chen
[not found] ` <52B15E7B.8080009-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-12-18 20:16 ` Serge Hallyn
2014-01-06 8:38 ` Libo Chen
[not found] ` <52CA6B69.1000402-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-01-06 16:55 ` Serge Hallyn
2014-01-09 12:29 ` Libo Chen [this message]
[not found] ` <52CE9620.9040108-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-01-22 14:17 ` Serge Hallyn
2014-01-23 1:59 ` Libo Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52CE9620.9040108@huawei.com \
--to=clbchenlibo.chen-hv44wf8li93qt0dzr+alfa@public.gmane.org \
--cc=caglar-mM0DFpta8ko@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=dlezcano-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org \
--cc=hadi-fAAogVwAN2Kw5LPnMra/2Q@public.gmane.org \
--cc=james.hunt-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org \
--cc=jovi.zhangwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=karma-sWkBwLop/e8RbODiWk9XIg@public.gmane.org \
--cc=serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org \
--cc=stgraber-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org \
--cc=takano-ryousei-XSdjUN4cZ6fPDbFq/vQRIQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.