dscpPolicy - remove bpf byteswap in favour of userspace
Test: atest DscpPolicyTest
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7a008434d58fc0fba5b503eb6fcfbca15bb2015c
diff --git a/bpf_progs/dscpPolicy.c b/bpf_progs/dscpPolicy.c
index 6e85710..08fbcb1 100644
--- a/bpf_progs/dscpPolicy.c
+++ b/bpf_progs/dscpPolicy.c
@@ -183,9 +183,9 @@
if (sport != policy->src_port) continue;
score += 0xFFFF;
}
- if (ntohs(dport) < ntohs(policy->dst_port_start)) continue;
- if (ntohs(dport) > ntohs(policy->dst_port_end)) continue;
- score += 0xFFFF + ntohs(policy->dst_port_start) - ntohs(policy->dst_port_end);
+ if (ntohs(dport) < policy->dst_port_start) continue;
+ if (ntohs(dport) > policy->dst_port_end) continue;
+ score += 0xFFFF + policy->dst_port_start - policy->dst_port_end;
if (score > best_score) {
best_score = score;
diff --git a/bpf_progs/dscpPolicy.h b/bpf_progs/dscpPolicy.h
index 1a6e14d..9680670 100644
--- a/bpf_progs/dscpPolicy.h
+++ b/bpf_progs/dscpPolicy.h
@@ -53,8 +53,8 @@
struct in6_addr dst_ip;
uint32_t ifindex;
__be16 src_port;
- __be16 dst_port_start;
- __be16 dst_port_end;
+ uint16_t dst_port_start;
+ uint16_t dst_port_end;
uint8_t proto;
int8_t dscp_val; // -1 none, or 0..63 DSCP value
uint8_t present_fields;