Create a TCP port in ingressgateway

Hello,

I tried to create a TCP port (other than 31400) in ingress gateway using following yaml,

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: tcp-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 31402
      protocol: TCP
      name: tcp
    hosts:
    - '*'

But, the port 31402 doesn’t seem to be exposed from the ingress gateway. Envoy logs also not showing any listener updates. However, if I changed protocol: TCP into protocol: HTTP, envoy listener gets created on port 31402. Is there any additional configuration that need to be added?

I am using Istio 1.0.2

The TCP listener is created in Envoy after you create a VirtualService that references the Gateway you created (i.e. tcp-gateway).

Thank you @zachseils

Also, I think https://github.com/istio/istio/issues/8374 is related to this.