Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lxc
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
lxc
Commits
070a4b8e
Commit
070a4b8e
authored
Aug 09, 2013
by
Serge Hallyn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lxc-user-nic: specify config and db files in autoconf
Signed-off-by:
Serge Hallyn
<
serge.hallyn@ubuntu.com
>
parent
20ab58c7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
9 deletions
+49
-9
configure.ac
configure.ac
+14
-0
Makefile.am
src/lxc/Makefile.am
+3
-1
lxc_user_nic.c
src/lxc/lxc_user_nic.c
+32
-8
No files found.
configure.ac
View file @
070a4b8e
...
@@ -189,6 +189,18 @@ AC_ARG_WITH([global-conf],
...
@@ -189,6 +189,18 @@ AC_ARG_WITH([global-conf],
[global lxc configuration file]
[global lxc configuration file]
)], [], [with_global_conf=['${sysconfdir}/lxc/lxc.conf']])
)], [], [with_global_conf=['${sysconfdir}/lxc/lxc.conf']])
AC_ARG_WITH([usernic-conf],
[AC_HELP_STRING(
[--with-usernic-conf],
[user network interface configuration file]
)], [], [with_usernic_conf=['${sysconfdir}/lxc/lxc-usernet']])
AC_ARG_WITH([usernic-db],
[AC_HELP_STRING(
[--with-usernic-db],
[lxc user nic database]
)], [], [with_usernic_db=['/run/lxc/nics']])
# Rootfs path, where the container mount structure is assembled
# Rootfs path, where the container mount structure is assembled
AC_ARG_WITH([rootfs-path],
AC_ARG_WITH([rootfs-path],
[AC_HELP_STRING(
[AC_HELP_STRING(
...
@@ -231,6 +243,8 @@ AS_AC_EXPAND(LXC_DISTRO_CONF, "$distroconf")
...
@@ -231,6 +243,8 @@ AS_AC_EXPAND(LXC_DISTRO_CONF, "$distroconf")
AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
AS_AC_EXPAND(LXCPATH, "$with_config_path")
AS_AC_EXPAND(LXCPATH, "$with_config_path")
AS_AC_EXPAND(LXC_GLOBAL_CONF, "$with_global_conf")
AS_AC_EXPAND(LXC_GLOBAL_CONF, "$with_global_conf")
AS_AC_EXPAND(LXC_USERNIC_CONF, "$with_usernic_conf")
AS_AC_EXPAND(LXC_USERNIC_DB, "$with_usernic_db")
AS_AC_EXPAND(LXCROOTFSMOUNT, "$with_rootfs_path")
AS_AC_EXPAND(LXCROOTFSMOUNT, "$with_rootfs_path")
AS_AC_EXPAND(LXCTEMPLATEDIR, "$datadir/lxc/templates")
AS_AC_EXPAND(LXCTEMPLATEDIR, "$datadir/lxc/templates")
AS_AC_EXPAND(LXCHOOKDIR, "$datadir/lxc/hooks")
AS_AC_EXPAND(LXCHOOKDIR, "$datadir/lxc/hooks")
...
...
src/lxc/Makefile.am
View file @
070a4b8e
...
@@ -95,7 +95,9 @@ AM_CFLAGS=-I$(top_srcdir)/src \
...
@@ -95,7 +95,9 @@ AM_CFLAGS=-I$(top_srcdir)/src \
-DLXCINITDIR
=
\"
$(LXCINITDIR)
\"
\
-DLXCINITDIR
=
\"
$(LXCINITDIR)
\"
\
-DLXCTEMPLATEDIR
=
\"
$(LXCTEMPLATEDIR)
\"
\
-DLXCTEMPLATEDIR
=
\"
$(LXCTEMPLATEDIR)
\"
\
-DLOGPATH
=
\"
$(LOGPATH)
\"
\
-DLOGPATH
=
\"
$(LOGPATH)
\"
\
-DLXC_DEFAULT_CONFIG
=
\"
$(LXC_DEFAULT_CONFIG)
\"
-DLXC_DEFAULT_CONFIG
=
\"
$(LXC_DEFAULT_CONFIG)
\"
\
-DLXC_USERNIC_DB
=
\"
$(LXC_USERNIC_DB)
\"
\
-DLXC_USERNIC_CONF
=
\"
$(LXC_USERNIC_CONF)
\"
if
ENABLE_APPARMOR
if
ENABLE_APPARMOR
AM_CFLAGS
+=
-DHAVE_APPARMOR
AM_CFLAGS
+=
-DHAVE_APPARMOR
...
...
src/lxc/lxc_user_nic.c
View file @
070a4b8e
...
@@ -45,9 +45,8 @@
...
@@ -45,9 +45,8 @@
#define CONF_FILE "/tmp/lxc-usernet"
#define CONF_FILE "/tmp/lxc-usernet"
#define DB_FILE "/tmp/nics"
#define DB_FILE "/tmp/nics"
#else
#else
/* TODO These should be set through configure.ac */
#define CONF_FILE LXC_USERNIC_CONF
#define CONF_FILE "/etc/lxc/lxc-usernet"
#define DB_FILE LXC_USERNIC_DB
#define DB_FILE "/var/lib/lxc/nics"
#endif
#endif
...
@@ -87,7 +86,7 @@
...
@@ -87,7 +86,7 @@
void
usage
(
char
*
me
,
bool
fail
)
void
usage
(
char
*
me
,
bool
fail
)
{
{
printf
(
"Usage: %s pid type bridge
\n
"
,
me
);
fprintf
(
stderr
,
"Usage: %s pid type bridge
\n
"
,
me
);
exit
(
fail
?
1
:
0
);
exit
(
fail
?
1
:
0
);
}
}
...
@@ -716,6 +715,27 @@ bool get_nic_if_avail(int fd, char *me, char *pid, char *intype, char *br, int a
...
@@ -716,6 +715,27 @@ bool get_nic_if_avail(int fd, char *me, char *pid, char *intype, char *br, int a
return
true
;
return
true
;
}
}
bool
create_db_dir
(
char
*
fnam
)
{
char
*
p
=
alloca
(
strlen
(
fnam
)
+
1
);
strcpy
(
p
,
fnam
);
fnam
=
p
;
p
=
p
+
1
;
again:
while
(
*
p
&&
*
p
!=
'/'
)
p
++
;
if
(
!*
p
)
return
true
;
*
p
=
'\0'
;
if
(
mkdir
(
fnam
,
0755
)
&&
errno
!=
EEXIST
)
{
fprintf
(
stderr
,
"failed to create %s
\n
"
,
fnam
);
*
p
=
'/'
;
return
false
;
}
*
(
p
++
)
=
'/'
;
goto
again
;
}
int
main
(
int
argc
,
char
*
argv
[])
int
main
(
int
argc
,
char
*
argv
[])
{
{
int
n
,
fd
;
int
n
,
fd
;
...
@@ -724,15 +744,20 @@ int main(int argc, char *argv[])
...
@@ -724,15 +744,20 @@ int main(int argc, char *argv[])
char
*
nicname
=
alloca
(
40
);
char
*
nicname
=
alloca
(
40
);
if
((
me
=
get_username
(
&
buf
))
==
NULL
)
{
if
((
me
=
get_username
(
&
buf
))
==
NULL
)
{
printf
(
"Failed to get username
\n
"
);
fprintf
(
stderr
,
"Failed to get username
\n
"
);
exit
(
1
);
exit
(
1
);
}
}
if
(
argc
!=
4
)
if
(
argc
!=
4
)
usage
(
argv
[
0
],
true
);
usage
(
argv
[
0
],
true
);
if
(
!
create_db_dir
(
DB_FILE
))
{
fprintf
(
stderr
,
"Failed to create directory for db file
\n
"
);
exit
(
1
);
}
if
((
fd
=
open_and_lock
(
DB_FILE
))
<
0
)
{
if
((
fd
=
open_and_lock
(
DB_FILE
))
<
0
)
{
printf
(
"Failed to lock %s
\n
"
,
DB_FILE
);
fprintf
(
stderr
,
"Failed to lock %s
\n
"
,
DB_FILE
);
exit
(
1
);
exit
(
1
);
}
}
...
@@ -741,10 +766,9 @@ int main(int argc, char *argv[])
...
@@ -741,10 +766,9 @@ int main(int argc, char *argv[])
gotone
=
get_nic_if_avail
(
fd
,
me
,
argv
[
1
],
argv
[
2
],
argv
[
3
],
n
,
&
nicname
);
gotone
=
get_nic_if_avail
(
fd
,
me
,
argv
[
1
],
argv
[
2
],
argv
[
3
],
n
,
&
nicname
);
close
(
fd
);
close
(
fd
);
if
(
!
gotone
)
{
if
(
!
gotone
)
{
printf
(
"Quota reached
\n
"
);
fprintf
(
stderr
,
"Quota reached
\n
"
);
exit
(
1
);
exit
(
1
);
}
}
printf
(
"got nic name %s
\n
"
,
nicname
);
// Now create the link
// Now create the link
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment