patchpanel: Move wwan masquerade from script
BUG=b:156200410
TEST=units
Change-Id: I7397b98c1cbed74eea0debaff1ad2c918e7be318
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2214844
Tested-by: Garrick Evans <garrick@chromium.org>
Commit-Queue: Garrick Evans <garrick@chromium.org>
Reviewed-by: Hugo Benichi <hugobenichi@google.com>
diff --git a/patchpanel/datapath_test.cc b/patchpanel/datapath_test.cc
index 43ea032..1aebb4f 100644
--- a/patchpanel/datapath_test.cc
+++ b/patchpanel/datapath_test.cc
@@ -548,6 +548,26 @@
datapath.RemoveForwardEstablishedRule();
}
+TEST(DatapathTest, AddInterfaceSNAT) {
+ MockProcessRunner runner;
+ EXPECT_CALL(runner, iptables(StrEq("nat"),
+ ElementsAre("-A", "POSTROUTING", "-o", "wwan+",
+ "-j", "MASQUERADE", "-w"),
+ true));
+ Datapath datapath(&runner);
+ datapath.AddInterfaceSNAT("wwan+");
+}
+
+TEST(DatapathTest, RemoveInterfaceSNAT) {
+ MockProcessRunner runner;
+ EXPECT_CALL(runner, iptables(StrEq("nat"),
+ ElementsAre("-D", "POSTROUTING", "-o", "wwan+",
+ "-j", "MASQUERADE", "-w"),
+ true));
+ Datapath datapath(&runner);
+ datapath.RemoveInterfaceSNAT("wwan+");
+}
+
TEST(DatapathTest, ArcVethHostName) {
EXPECT_EQ("vetheth0", ArcVethHostName("eth0"));
EXPECT_EQ("vethrmnet0", ArcVethHostName("rmnet0"));