summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c1
-rw-r--r--src/read_config_lex.l3
-rw-r--r--src/read_config_yy.y11
3 files changed, 13 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index c3271fe..8f75904 100644
--- a/src/main.c
+++ b/src/main.c
@@ -279,6 +279,7 @@ int main(int argc, char *argv[])
chdir("/");
close(STDIN_FILENO);
+ nice(CONFIG(nice));
/* Daemonize conntrackd */
if (type == DAEMON) {
diff --git a/src/read_config_lex.l b/src/read_config_lex.l
index 26c6124..a1830fd 100644
--- a/src/read_config_lex.l
+++ b/src/read_config_lex.l
@@ -35,6 +35,7 @@ nl [\n\r]
is_on [o|O][n|N]
is_off [o|O][f|F][f|F]
integer [0-9]+
+signed_integer [\-\+][0-9]+
path \/[^\"\n ]*
ip4_cidr \/[0-2]*[0-9]+
ip4_end [0-9]*[0-9]+
@@ -122,10 +123,12 @@ notrack [N|n][O|o][T|t][R|r][A|a][C|c][K|k]
"Default" { return T_DEFAULT; }
"PollSecs" { return T_POLL_SECS; }
"NetlinkOverrunResync" { return T_NETLINK_OVERRUN_RESYNC; }
+"Nice" { return T_NICE; }
{is_on} { return T_ON; }
{is_off} { return T_OFF; }
{integer} { yylval.val = atoi(yytext); return T_NUMBER; }
+{signed_integer} { yylval.val = atoi(yytext); return T_SIGNED_NUMBER; }
{ip4} { yylval.string = strdup(yytext); return T_IP; }
{ip6} { yylval.string = strdup(yytext); return T_IP; }
{path} { yylval.string = strdup(yytext); return T_PATH_VAL; }
diff --git a/src/read_config_yy.y b/src/read_config_yy.y
index 1bea865..b9a37f7 100644
--- a/src/read_config_yy.y
+++ b/src/read_config_yy.y
@@ -61,10 +61,11 @@ static void __max_mcast_dedicated_links_reached(void);
%token T_MCAST_RCVBUFF T_MCAST_SNDBUFF T_NOTRACK T_POLL_SECS
%token T_FILTER T_ADDRESS T_PROTOCOL T_STATE T_ACCEPT T_IGNORE
%token T_FROM T_USERSPACE T_KERNELSPACE T_EVENT_ITER_LIMIT T_DEFAULT
-%token T_NETLINK_OVERRUN_RESYNC
+%token T_NETLINK_OVERRUN_RESYNC T_NICE
%token <string> T_IP T_PATH_VAL
%token <val> T_NUMBER
+%token <val> T_SIGNED_NUMBER
%token <string> T_STRING
%%
@@ -727,6 +728,7 @@ general_line: hashsize
| poll_secs
| filter
| netlink_overrun_resync
+ | nice
;
netlink_buffer_size: T_BUFFER_SIZE T_NUMBER
@@ -752,7 +754,12 @@ netlink_overrun_resync : T_NETLINK_OVERRUN_RESYNC T_OFF
netlink_overrun_resync : T_NETLINK_OVERRUN_RESYNC T_NUMBER
{
conf.nl_overrun_resync = $2;
-}
+};
+
+nice : T_NICE T_SIGNED_NUMBER
+{
+ conf.nice = $2;
+};
family : T_FAMILY T_STRING
{