From: Daniel Borkmann Date: Tue, 2 Jun 2015 21:35:34 +0000 (+0200) Subject: tc: {f,m}_bpf: allow to retrieve uds path from env X-Git-Tag: v4.2.0~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88eea5395483bb26a3b5fbbad66334feeb1ec3b6;p=thirdparty%2Fiproute2.git tc: {f,m}_bpf: allow to retrieve uds path from env Allow to retrieve uds path from the environment, facilitates also dealing with export a bit. Signed-off-by: Daniel Borkmann --- diff --git a/tc/f_bpf.c b/tc/f_bpf.c index 597ef6062..c21bf33fd 100644 --- a/tc/f_bpf.c +++ b/tc/f_bpf.c @@ -122,6 +122,7 @@ opt_bpf: NEXT_ARG(); if (ebpf) { + bpf_uds_name = secure_getenv(BPF_ENV_UDS); bpf_obj = *argv; NEXT_ARG(); @@ -131,8 +132,9 @@ opt_bpf: bpf_sec_name = *argv; NEXT_ARG(); } - if (strcmp(*argv, "export") == 0 || - strcmp(*argv, "exp") == 0) { + if (!bpf_uds_name && + (strcmp(*argv, "export") == 0 || + strcmp(*argv, "exp") == 0)) { NEXT_ARG(); bpf_uds_name = *argv; NEXT_ARG(); diff --git a/tc/m_bpf.c b/tc/m_bpf.c index 06211578a..9ddb66726 100644 --- a/tc/m_bpf.c +++ b/tc/m_bpf.c @@ -105,6 +105,7 @@ opt_bpf: NEXT_ARG(); if (ebpf) { + bpf_uds_name = secure_getenv(BPF_ENV_UDS); bpf_obj = *argv; NEXT_ARG(); @@ -114,8 +115,9 @@ opt_bpf: bpf_sec_name = *argv; NEXT_ARG(); } - if (strcmp(*argv, "export") == 0 || - strcmp(*argv, "exp") == 0) { + if (!bpf_uds_name && + (strcmp(*argv, "export") == 0 || + strcmp(*argv, "exp") == 0)) { NEXT_ARG(); bpf_uds_name = *argv; NEXT_ARG(); diff --git a/tc/tc_bpf.h b/tc/tc_bpf.h index 5a697e5cd..2ad881219 100644 --- a/tc/tc_bpf.h +++ b/tc/tc_bpf.h @@ -25,6 +25,8 @@ #include "utils.h" #include "bpf_scm.h" +#define BPF_ENV_UDS "TC_BPF_UDS" + int bpf_parse_string(char *arg, bool from_file, __u16 *bpf_len, char **bpf_string, bool *need_release, const char separator);