From: Stephen Hemminger Date: Mon, 18 Jan 2016 17:37:38 +0000 (-0800) Subject: Revert "tc: fix compilation with old gcc (< 4.6)" X-Git-Tag: v4.5.0~93^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc223ab8617720902d75d855a702273dc6d232c8;p=thirdparty%2Fiproute2.git Revert "tc: fix compilation with old gcc (< 4.6)" This reverts commit 8f80d450c3cb0996d839996807b77ca28bd4da09. --- diff --git a/tc/tc_bpf.c b/tc/tc_bpf.c index 47993bad8..276871a5c 100644 --- a/tc/tc_bpf.c +++ b/tc/tc_bpf.c @@ -257,14 +257,12 @@ static bool bpf_may_skip_map_creation(int file_fd) static int bpf_create_map(enum bpf_map_type type, unsigned int size_key, unsigned int size_value, unsigned int max_elem) { - union bpf_attr attr; - - memset(&attr, 0, sizeof(attr)); - - attr.map_type = type; - attr.key_size = size_key; - attr.value_size = size_value; - attr.max_entries = max_elem; + union bpf_attr attr = { + .map_type = type, + .key_size = size_key, + .value_size = size_value, + .max_entries = max_elem, + }; return bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); } @@ -272,14 +270,12 @@ static int bpf_create_map(enum bpf_map_type type, unsigned int size_key, static int bpf_update_map(int fd, const void *key, const void *value, uint64_t flags) { - union bpf_attr attr; - - memset(&attr, 0, sizeof(attr)); - - attr.map_fd = fd; - attr.key = bpf_ptr_to_u64(key); - attr.value = bpf_ptr_to_u64(value); - attr.flags = flags; + union bpf_attr attr = { + .map_fd = fd, + .key = bpf_ptr_to_u64(key), + .value = bpf_ptr_to_u64(value), + .flags = flags, + }; return bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr)); } @@ -287,17 +283,15 @@ static int bpf_update_map(int fd, const void *key, const void *value, static int bpf_prog_load(enum bpf_prog_type type, const struct bpf_insn *insns, unsigned int len, const char *license) { - union bpf_attr attr; - - memset(&attr, 0, sizeof(attr)); - - attr.prog_type = type; - attr.insns = bpf_ptr_to_u64(insns); - attr.insn_cnt = len / sizeof(struct bpf_insn); - attr.license = bpf_ptr_to_u64(license); - attr.log_buf = bpf_ptr_to_u64(bpf_log_buf); - attr.log_size = sizeof(bpf_log_buf); - attr.log_level = 1; + union bpf_attr attr = { + .prog_type = type, + .insns = bpf_ptr_to_u64(insns), + .insn_cnt = len / sizeof(struct bpf_insn), + .license = bpf_ptr_to_u64(license), + .log_buf = bpf_ptr_to_u64(bpf_log_buf), + .log_size = sizeof(bpf_log_buf), + .log_level = 1, + }; return bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); }