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 <daniel@iogearbox.net>
This commit is contained in:
Daniel Borkmann 2015-06-02 23:35:34 +02:00 committed by Stephen Hemminger
parent 473d7840c3
commit 88eea53954
3 changed files with 10 additions and 4 deletions

View File

@ -122,6 +122,7 @@ opt_bpf:
NEXT_ARG(); NEXT_ARG();
if (ebpf) { if (ebpf) {
bpf_uds_name = secure_getenv(BPF_ENV_UDS);
bpf_obj = *argv; bpf_obj = *argv;
NEXT_ARG(); NEXT_ARG();
@ -131,8 +132,9 @@ opt_bpf:
bpf_sec_name = *argv; bpf_sec_name = *argv;
NEXT_ARG(); NEXT_ARG();
} }
if (strcmp(*argv, "export") == 0 || if (!bpf_uds_name &&
strcmp(*argv, "exp") == 0) { (strcmp(*argv, "export") == 0 ||
strcmp(*argv, "exp") == 0)) {
NEXT_ARG(); NEXT_ARG();
bpf_uds_name = *argv; bpf_uds_name = *argv;
NEXT_ARG(); NEXT_ARG();

View File

@ -105,6 +105,7 @@ opt_bpf:
NEXT_ARG(); NEXT_ARG();
if (ebpf) { if (ebpf) {
bpf_uds_name = secure_getenv(BPF_ENV_UDS);
bpf_obj = *argv; bpf_obj = *argv;
NEXT_ARG(); NEXT_ARG();
@ -114,8 +115,9 @@ opt_bpf:
bpf_sec_name = *argv; bpf_sec_name = *argv;
NEXT_ARG(); NEXT_ARG();
} }
if (strcmp(*argv, "export") == 0 || if (!bpf_uds_name &&
strcmp(*argv, "exp") == 0) { (strcmp(*argv, "export") == 0 ||
strcmp(*argv, "exp") == 0)) {
NEXT_ARG(); NEXT_ARG();
bpf_uds_name = *argv; bpf_uds_name = *argv;
NEXT_ARG(); NEXT_ARG();

View File

@ -25,6 +25,8 @@
#include "utils.h" #include "utils.h"
#include "bpf_scm.h" #include "bpf_scm.h"
#define BPF_ENV_UDS "TC_BPF_UDS"
int bpf_parse_string(char *arg, bool from_file, __u16 *bpf_len, int bpf_parse_string(char *arg, bool from_file, __u16 *bpf_len,
char **bpf_string, bool *need_release, char **bpf_string, bool *need_release,
const char separator); const char separator);