This section is empty.


This section is empty.


This section is empty.


type PUContext

type PUContext struct {
	ProxyPort string

	Extension interface{}
	// contains filtered or unexported fields

    PUContext holds data indexed by the PU ID

    func NewPU

    func NewPU(contextID string, puInfo *policy.PUInfo, timeout time.Duration) (*PUContext, error)

      NewPU creates a new PU context

      func (*PUContext) Annotations

      func (p *PUContext) Annotations() *policy.TagStore

        Annotations returns the annotations

        func (*PUContext) ApplicationACLPolicy

        func (p *PUContext) ApplicationACLPolicy(packet *packet.Packet) (report *policy.FlowPolicy, action *policy.FlowPolicy, err error)

          ApplicationACLPolicy retrieves the policy based on ACLs

          func (*PUContext) CacheExternalFlowPolicy

          func (p *PUContext) CacheExternalFlowPolicy(packet *packet.Packet, plc interface{})

            CacheExternalFlowPolicy will cache an external flow

            func (*PUContext) CreateRcvRules

            func (p *PUContext) CreateRcvRules(policyRules policy.TagSelectorList)

              CreateRcvRules create receive rules for this PU based on the update of the policy.

              func (*PUContext) CreateTxtRules

              func (p *PUContext) CreateTxtRules(policyRules policy.TagSelectorList)

                CreateTxtRules create receive rules for this PU based on the update of the policy.

                func (*PUContext) GetCachedTokenAndServiceContext

                func (p *PUContext) GetCachedTokenAndServiceContext() ([]byte, []byte, error)

                  GetCachedTokenAndServiceContext returns the cached syn packet token

                  func (*PUContext) GetJWT

                  func (p *PUContext) GetJWT() (string, error)

                    GetJWT retrieves the JWT if it exists in the cache. Returns error otherwise.

                    func (*PUContext) GetProcessKeys

                    func (p *PUContext) GetProcessKeys() (string, []string)

                      GetProcessKeys returns the cache keys for a process

                      func (*PUContext) ID

                      func (p *PUContext) ID() string

                        ID returns the ID of the PU

                        func (*PUContext) Identity

                        func (p *PUContext) Identity() *policy.TagStore

                          Identity returns the indentity

                          func (*PUContext) ManagementID

                          func (p *PUContext) ManagementID() string

                            ManagementID returns the management ID

                            func (*PUContext) Mark

                            func (p *PUContext) Mark() string

                              Mark returns the PU mark

                              func (*PUContext) NetworkACLPolicy

                              func (p *PUContext) NetworkACLPolicy(packet *packet.Packet) (report *policy.FlowPolicy, action *policy.FlowPolicy, err error)

                                NetworkACLPolicy retrieves the policy based on ACLs

                                func (*PUContext) Ports

                                func (p *PUContext) Ports() []string

                                  Ports returns the PU ports

                                  func (*PUContext) RetrieveCachedExternalFlowPolicy

                                  func (p *PUContext) RetrieveCachedExternalFlowPolicy(id string) (interface{}, error)

                                    RetrieveCachedExternalFlowPolicy returns the policy for an external IP

                                    func (*PUContext) Scopes

                                    func (p *PUContext) Scopes() []string

                                      Scopes returns the scopes.

                                      func (*PUContext) SearchRcvRules

                                      func (p *PUContext) SearchRcvRules(
                                      	tags *policy.TagStore,
                                      ) (report *policy.FlowPolicy, packet *policy.FlowPolicy)

                                        SearchRcvRules searches both receive and observed receive rules and returns the index and action

                                        func (*PUContext) SearchTxtRules

                                        func (p *PUContext) SearchTxtRules(
                                        	tags *policy.TagStore,
                                        	skipRejectPolicies bool,
                                        ) (report *policy.FlowPolicy, packet *policy.FlowPolicy)

                                          SearchTxtRules searches both receive and observed transmit rules and returns the index and action

                                          func (*PUContext) SynServiceContext

                                          func (p *PUContext) SynServiceContext() []byte

                                            SynServiceContext returns synServiceContext

                                            func (*PUContext) Type

                                            func (p *PUContext) Type() common.PUType

                                              Type return the pu type

                                              func (*PUContext) UpdateCachedTokenAndServiceContext

                                              func (p *PUContext) UpdateCachedTokenAndServiceContext(token []byte, serviceContext []byte)

                                                UpdateCachedTokenAndServiceContext updates the local cached token

                                                func (*PUContext) UpdateJWT

                                                func (p *PUContext) UpdateJWT(jwt string, expiration time.Time)

                                                  UpdateJWT updates the JWT and provides a new expiration date.

                                                  func (*PUContext) UpdateSynServiceContext

                                                  func (p *PUContext) UpdateSynServiceContext(synServiceContext []byte)

                                                    UpdateSynServiceContext updates the synServiceContext

                                                    Source Files