istio: istio.io/istio/pilot/pkg/networking Index | Files | Directories

package networking

import "istio.io/istio/pilot/pkg/networking"

Index

Package Files

networking.go

Constants

const (
    // ListenerProtocolUnknown is an unknown type of listener.
    ListenerProtocolUnknown = iota
    // ListenerProtocolTCP is a TCP listener.
    ListenerProtocolTCP
    // ListenerProtocolHTTP is an HTTP listener.
    ListenerProtocolHTTP
    // ListenerProtocolThrift is a Thrift listener.
    ListenerProtocolThrift
    // ListenerProtocolAuto enables auto protocol detection
    ListenerProtocolAuto
)
const (
    NoTunnelTypeName = "notunnel"
    H2TunnelTypeName = "H2Tunnel"
)

type FilterChain Uses

type FilterChain struct {
    // FilterChainMatch is the match used to select the filter chain.
    FilterChainMatch *listener.FilterChainMatch
    // TLSContext is the TLS settings for this filter chains.
    TLSContext *tls.DownstreamTlsContext
    // ListenerFilters are the filters needed for the whole listener, not particular to this
    // filter chain.
    ListenerFilters []*listener.ListenerFilter
    // ListenerProtocol indicates whether this filter chain is for HTTP or TCP
    // Note that HTTP filter chains can also have network filters
    ListenerProtocol ListenerProtocol
    // IstioMutualGateway is set only when this filter chain is part of a Gateway, and
    // the Server corresponding to this filter chain is doing TLS termination with ISTIO_MUTUAL as the TLS mode.
    // This allows the authN plugin to add the istio_authn filter to gateways in addition to sidecars.
    IstioMutualGateway bool

    // HTTP is the set of HTTP filters for this filter chain
    HTTP []*http_conn.HttpFilter
    // Thrift is the set of Thrift filters for this filter chain
    Thrift []*thrift_proxy.ThriftFilter
    // TCP is the set of network (TCP) filters for this filter chain.
    TCP []*listener.Filter
    // IsFallthrough indicates if the filter chain is fallthrough.
    IsFallThrough bool
}

FilterChain describes a set of filters (HTTP or TCP) with a shared TLS context.

type ListenerProtocol Uses

type ListenerProtocol int

ListenerProtocol is the protocol associated with the listener.

func ModelProtocolToListenerProtocol Uses

func ModelProtocolToListenerProtocol(p protocol.Instance,
    trafficDirection core.TrafficDirection) ListenerProtocol

ModelProtocolToListenerProtocol converts from a config.Protocol to its corresponding plugin.ListenerProtocol

type MutableObjects Uses

type MutableObjects struct {
    // Listener is the listener being built. Must be initialized before Plugin methods are called.
    Listener *listener.Listener

    // FilterChains is the set of filter chains that will be attached to Listener.
    FilterChains []FilterChain
}

MutableObjects is a set of objects passed to On*Listener callbacks. Fields may be nil or empty. Any lists should not be overridden, but rather only appended to. Non-list fields may be mutated; however it's not recommended to do this since it can affect other plugins in the chain in unpredictable ways.

type TunnelAbility Uses

type TunnelAbility int

func MakeTunnelAbility Uses

func MakeTunnelAbility(ttypes ...TunnelType) TunnelAbility

func (TunnelAbility) SupportH2Tunnel Uses

func (t TunnelAbility) SupportH2Tunnel() bool

type TunnelType Uses

type TunnelType int
const (
    // Bind the no tunnel support to a name.
    NoTunnel TunnelType = 0
    // Enumeration of tunnel type below. Each type should own a unique bit field.
    H2Tunnel TunnelType = 1 << 0
)

func (TunnelType) ToString Uses

func (t TunnelType) ToString() string

Directories

PathSynopsis
apigen
core
core/v1alpha3
core/v1alpha3/envoyfilter
core/v1alpha3/loadbalancerpackages used for load balancer setting
core/v1alpha3/route
core/v1alpha3/route/retry
grpcgen
plugin
plugin/authn
plugin/authz
plugin/metadataexchange
plugin/registryPackage registry represents a registry of plugins that can be used by a config generator.
util

Package networking imports 7 packages (graph) and is imported by 17 packages. Updated 2021-01-25. Refresh now. Tools for package owners.