TetherIngressValue - add output path/route mtu field
This doesn't actually change anything, since we initialize it with
1500 default just like we blindly assume it always is today.
Tested: builds
Bug: 149816401
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie448a988c3a769be07f895621711fe4e59d4535c
Merged-In: Ie448a988c3a769be07f895621711fe4e59d4535c
diff --git a/server/TetherController.cpp b/server/TetherController.cpp
index 560a01c..50ae966 100644
--- a/server/TetherController.cpp
+++ b/server/TetherController.cpp
@@ -870,8 +870,9 @@
};
TetherIngressValue value = {
- static_cast<uint32_t>(rule.outputInterfaceIndex),
- hdr,
+ .oif = static_cast<uint32_t>(rule.outputInterfaceIndex),
+ .macHeader = hdr,
+ .pmtu = 1500, // TODO: don't just blindly use this default
};
return mBpfIngressMap.writeValue(key, value, BPF_ANY);
@@ -1185,7 +1186,7 @@
return;
}
- dw.println("BPF ingress map: iif v6addr -> oif srcmac dstmac ethertype");
+ dw.println("BPF ingress map: iif v6addr -> oif srcmac dstmac ethertype [pmtu]");
const auto printIngressMap = [&dw](const TetherIngressKey& key, const TetherIngressValue& value,
const BpfMap<TetherIngressKey, TetherIngressValue>&) {
char addr[INET6_ADDRSTRLEN];
@@ -1193,8 +1194,8 @@
std::string dst = l2ToString(value.macHeader.h_dest, sizeof(value.macHeader.h_dest));
inet_ntop(AF_INET6, &key.neigh6, addr, sizeof(addr));
- dw.println("%u %s -> %u %s %s %04x", key.iif, addr, value.oif, src.c_str(), dst.c_str(),
- ntohs(value.macHeader.h_proto));
+ dw.println("%u %s -> %u %s %s %04x [%u]", key.iif, addr, value.oif, src.c_str(),
+ dst.c_str(), ntohs(value.macHeader.h_proto), value.pmtu);
return Result<void>();
};