import "istio.io/istio/pilot/pkg/networking"
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 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.
ListenerProtocol is the protocol associated with the listener.
func ModelProtocolToListenerProtocol(p protocol.Instance, trafficDirection core.TrafficDirection) ListenerProtocol
ModelProtocolToListenerProtocol converts from a config.Protocol to its corresponding plugin.ListenerProtocol
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.
func MakeTunnelAbility(ttypes ...TunnelType) TunnelAbility
func (t TunnelAbility) SupportH2Tunnel() bool
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 (t TunnelType) ToString() string
Path | Synopsis |
---|---|
apigen | |
core | |
core/v1alpha3 | |
core/v1alpha3/envoyfilter | |
core/v1alpha3/loadbalancer | packages used for load balancer setting |
core/v1alpha3/route | |
core/v1alpha3/route/retry | |
grpcgen | |
plugin | |
plugin/authn | |
plugin/authz | |
plugin/metadataexchange | |
plugin/registry | Package 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.