private async Task UpdateContainerRoutes()
        {
            if (HostingConfig.Config.LocalNatIpProviderEnabled)
            {
                return;
            }

            // If container is using open network only on windows, we need additional set up before and after
            // starting the container. This is a mitigation for no support for outbound connectivity from
            // open network based containers.
            if (((this.activationArgs.ContainerDescription.ContainerNetworkConfig.NetworkType & ContainerNetworkType.Open) == ContainerNetworkType.Open &&
                 !string.IsNullOrEmpty(this.activationArgs.ContainerDescription.ContainerNetworkConfig.OpenNetworkAssignedIp)))
            {
                var updateRoutesOperation = new UpdateRoutesContainerOperation(
                    TraceType,
                    this.containerId,
                    this.activationArgs.ContainerDescription.ContainerName,
                    this.activationArgs.ContainerDescription.ApplicationId,
                    this.activationArgs.ContainerDescription.ApplicationName,
                    this.activationArgs.ProcessDescription.CgroupName,
                    this.activationArgs.GatewayIpAddresses,
                    this.activationArgs.ContainerDescription.AutoRemove,
                    this.activationArgs.ContainerDescription.IsContainerRoot,
                    this.activationArgs.ContainerDescription.ContainerNetworkConfig.NetworkType,
                    this.activator,
                    this.timeoutHelper);

                await updateRoutesOperation.ExecuteUpdateRouteCommandAsync();
            }
        }
        public ExecuteContainerUpdateRoutesOperation(
            ContainerActivatorService activator,
            ContainerUpdateRouteArgs updateRouteArgs,
            TimeSpan timeout)
        {
            this.updateRouteArgs = updateRouteArgs;
            this.timeoutHelper   = new TimeoutHelper(timeout);

            updateRoutesOperation = new UpdateRoutesContainerOperation(
                TraceType,
                updateRouteArgs.ContainerId,
                updateRouteArgs.ContainerName,
                updateRouteArgs.ApplicationId,
                updateRouteArgs.ApplicationName,
                updateRouteArgs.CgroupName,
                updateRouteArgs.GatewayIpAddresses,
                updateRouteArgs.AutoRemove,
                updateRouteArgs.IsContainerRoot,
                updateRouteArgs.NetworkType,
                activator,
                timeoutHelper);
        }