diff options
| author | Steven Moreland <smoreland@google.com> | 2020-01-13 14:13:44 -0800 |
|---|---|---|
| committer | Steven Moreland <smoreland@google.com> | 2020-01-17 22:49:09 +0000 |
| commit | a307454ba5a9eee9c3e0fb73a7114bb02c63df0f (patch) | |
| tree | 56ababcd82dd1ee37f40d966e9304d03e8a2f7b1 /server/ClatdController.cpp | |
| parent | b670f124dc0bc9dac2802bb408825411d23000f9 (diff) | |
| download | platform_system_netd-a307454ba5a9eee9c3e0fb73a7114bb02c63df0f.tar.gz platform_system_netd-a307454ba5a9eee9c3e0fb73a7114bb02c63df0f.tar.bz2 platform_system_netd-a307454ba5a9eee9c3e0fb73a7114bb02c63df0f.zip | |
libbpf_android doesn't use libnetdutils
Remove libnetdutils dependency because bpf is being used for things other
than networking these days, and we don't want to make libnetdutils
vendor-available in the future. libbase provides an alternative type now.
Bug: 140330870
Test: atest netd_integration_test netd_unit_test libnetdbpf_test
Test: atest bpf_benchmark (fails on unrelated synchronizeKernelRCU)
Change-Id: Iab50cf8113818606cc7d32843e51907ae02543bc
Diffstat (limited to 'server/ClatdController.cpp')
| -rw-r--r-- | server/ClatdController.cpp | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/server/ClatdController.cpp b/server/ClatdController.cpp index d326f41c2..b65c5c3ca 100644 --- a/server/ClatdController.cpp +++ b/server/ClatdController.cpp @@ -61,6 +61,7 @@ static const char* kV4AddrString = "192.0.0.4"; static const in_addr kV4Addr = {inet_addr(kV4AddrString)}; static const int kV4AddrLen = 29; +using android::base::Result; using android::base::StringPrintf; using android::base::unique_fd; using android::bpf::BpfMap; @@ -78,12 +79,12 @@ void ClatdController::resetEgressMap() { ALOGW("Removing stale clat config on interface %d.", key.iif); int rv = tcQdiscDelDevClsact(netlinkFd, key.iif); if (rv < 0) ALOGE("tcQdiscDelDevClsact() failure: %s", strerror(-rv)); - return netdutils::status::ok; // keep on going regardless + return Result<void>(); // keep on going regardless }; auto ret = mClatEgressMap.iterate(del); - if (!isOk(ret)) ALOGE("mClatEgressMap.iterate() failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.iterate() failure: %s", strerror(ret.error().code())); ret = mClatEgressMap.clear(); - if (!isOk(ret)) ALOGE("mClatEgressMap.clear() failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.clear() failure: %s", strerror(ret.error().code())); } void ClatdController::resetIngressMap() { @@ -94,12 +95,12 @@ void ClatdController::resetIngressMap() { ALOGW("Removing stale clat config on interface %d.", key.iif); int rv = tcQdiscDelDevClsact(netlinkFd, key.iif); if (rv < 0) ALOGE("tcQdiscDelDevClsact() failure: %s", strerror(-rv)); - return netdutils::status::ok; // keep on going regardless + return Result<void>(); // keep on going regardless }; auto ret = mClatIngressMap.iterate(del); - if (!isOk(ret)) ALOGE("mClatIngressMap.iterate() failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.iterate() failure: %s", strerror(ret.error().code())); ret = mClatIngressMap.clear(); - if (!isOk(ret)) ALOGE("mClatIngressMap.clear() failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.clear() failure: %s", strerror(ret.error().code())); } void ClatdController::init(void) { @@ -319,8 +320,8 @@ void ClatdController::maybeStartBpf(const ClatdTracker& tracker) { }; auto ret = mClatEgressMap.writeValue(txKey, txValue, BPF_ANY); - if (!isOk(ret)) { - ALOGE("mClatEgress.Map.writeValue failure: %s", strerror(ret.code())); + if (!ret) { + ALOGE("mClatEgress.Map.writeValue failure: %s", strerror(ret.error().code())); return; } @@ -336,10 +337,10 @@ void ClatdController::maybeStartBpf(const ClatdTracker& tracker) { }; ret = mClatIngressMap.writeValue(rxKey, rxValue, BPF_ANY); - if (!isOk(ret)) { - ALOGE("mClatIngress.Map.writeValue failure: %s", strerror(ret.code())); + if (!ret) { + ALOGE("mClatIngress.Map.writeValue failure: %s", strerror(ret.error().code())); ret = mClatEgressMap.deleteValue(txKey); - if (!isOk(ret)) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.error().code())); return; } @@ -351,9 +352,9 @@ void ClatdController::maybeStartBpf(const ClatdTracker& tracker) { ALOGE("tcQdiscAddDevClsact(%d[%s]) failure: %s", tracker.ifIndex, tracker.iface, strerror(-rv)); ret = mClatEgressMap.deleteValue(txKey); - if (!isOk(ret)) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.error().code())); ret = mClatIngressMap.deleteValue(rxKey); - if (!isOk(ret)) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.error().code())); return; } @@ -367,9 +368,9 @@ void ClatdController::maybeStartBpf(const ClatdTracker& tracker) { strerror(-rv)); } ret = mClatEgressMap.deleteValue(txKey); - if (!isOk(ret)) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.error().code())); ret = mClatIngressMap.deleteValue(rxKey); - if (!isOk(ret)) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.error().code())); return; } @@ -393,9 +394,9 @@ void ClatdController::maybeStartBpf(const ClatdTracker& tracker) { strerror(-rv)); } ret = mClatEgressMap.deleteValue(txKey); - if (!isOk(ret)) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.error().code())); ret = mClatIngressMap.deleteValue(rxKey); - if (!isOk(ret)) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.error().code())); return; } @@ -419,9 +420,9 @@ void ClatdController::maybeStartBpf(const ClatdTracker& tracker) { strerror(-rv)); } ret = mClatEgressMap.deleteValue(txKey); - if (!isOk(ret)) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.error().code())); ret = mClatIngressMap.deleteValue(rxKey); - if (!isOk(ret)) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.error().code())); return; } @@ -465,7 +466,7 @@ void ClatdController::maybeStopBpf(const ClatdTracker& tracker) { }; auto ret = mClatEgressMap.deleteValue(txKey); - if (!isOk(ret)) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatEgressMap.deleteValue failure: %s", strerror(ret.error().code())); ClatIngressKey rxKey = { .iif = tracker.ifIndex, @@ -474,7 +475,7 @@ void ClatdController::maybeStopBpf(const ClatdTracker& tracker) { }; ret = mClatIngressMap.deleteValue(rxKey); - if (!isOk(ret)) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.code())); + if (!ret) ALOGE("mClatIngressMap.deleteValue failure: %s", strerror(ret.error().code())); } // Finds the tracker of the clatd running on interface |interface|, or nullptr if clatd has not been @@ -717,11 +718,11 @@ void ClatdController::dumpEgress(DumpWriter& dw) { dw.println("%u(%s) %s -> %s %s/96 %u(%s) %s", key.iif, iifStr, local4Str, local6Str, pfx96Str, value.oif, oifStr, value.oifIsEthernet ? "ether" : "rawip"); - return netdutils::status::ok; + return Result<void>(); }; auto res = configMap.iterateWithValue(printClatMap); - if (!isOk(res)) { - dw.println("Error printing BPF map: %s", res.msg().c_str()); + if (!res) { + dw.println("Error printing BPF map: %s", res.error().message().c_str()); } } @@ -750,11 +751,11 @@ void ClatdController::dumpIngress(DumpWriter& dw) { dw.println("%u(%s) %s/96 %s -> %s %u(%s)", key.iif, iifStr, pfx96Str, local6Str, local4Str, value.oif, oifStr); - return netdutils::status::ok; + return Result<void>(); }; auto res = configMap.iterateWithValue(printClatMap); - if (!isOk(res)) { - dw.println("Error printing BPF map: %s", res.msg().c_str()); + if (!res) { + dw.println("Error printing BPF map: %s", res.error().message().c_str()); } } |
