Return false when tetherOffloadRuleAdd doesn't really add items

This is needed for the follow-up CLs to check whether an item was
added when calling tetherOffloadRuleAdd. This is safe since no one
is actually checking the return value of this method.

Test: atest TetheringTests
Bug: 354619988
Change-Id: I28bafe3145bd2f62f9a7db9d0a300d2c7a148040
This commit is contained in:
Junyu Lai 2024-09-02 14:25:31 +08:00
commit 7b4e318889
2 changed files with 3 additions and 0 deletions

View file

@ -359,6 +359,7 @@ public class BpfCoordinatorShimImpl
} catch (IllegalStateException e) {
// Silent if the rule already exists. Note that the errno EEXIST was rethrown as
// IllegalStateException. See BpfMap#insertEntry.
return false;
}
return true;
}

View file

@ -140,6 +140,8 @@ public abstract class BpfCoordinatorShim {
/**
* Adds a tethering IPv4 offload rule to appropriate BPF map.
*
* @return true iff the map was modified, false if the key already exists or there was an error.
*/
public abstract boolean tetherOffloadRuleAdd(boolean downstream, @NonNull Tether4Key key,
@NonNull Tether4Value value);