patchpanel: route arcbr0 through non-ARC VPNs
This patch sets ARC's arcbr0 routing tags so that traffic originated
through arcbr0 by ARC is routed through any non-ARC VPN connection.
Inside ARC, arcbr0 is used to expose a fake "facade" VPN network
corresponding to the non-ARC VPN established on the host environment.
BUG=b:161507671
BUG=b:161508179
BUG=chromium:1157515
TEST=unit tests. Checked that ARC traffic is correctly routed on the
host when a full tunnel VPN connection is set up on the host.
Change-Id: I7375af1a604bfc6ecb8a729decb55b13a8717af0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2586457
Tested-by: Hugo Benichi <hugobenichi@google.com>
Commit-Queue: Hugo Benichi <hugobenichi@google.com>
Reviewed-by: Taoyu Li <taoyl@chromium.org>
diff --git a/patchpanel/arc_service.h b/patchpanel/arc_service.h
index a132c84..cedf951 100644
--- a/patchpanel/arc_service.h
+++ b/patchpanel/arc_service.h
@@ -24,6 +24,8 @@
namespace patchpanel {
+constexpr char kArcBridge[] = "arcbr0";
+
class ArcService {
public:
enum class InterfaceType {