Documentation ¶
Index ¶
- Constants
- func LaunchRemoteEnforcer(service packetprocessor.PacketProcessor) error
- type RemoteEnforcer
- func (s *RemoteEnforcer) EnableDatapathPacketTracing(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) EnableIPTablesPacketTracing(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) Enforce(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) EnforcerExit(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) InitEnforcer(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) InitSupervisor(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) SetTargetNetworks(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) Supervise(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) Unenforce(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) Unsupervise(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- func (s *RemoteEnforcer) UpdateSecrets(req rpcwrapper.Request, resp *rpcwrapper.Response) error
- type RemoteIntf
Constants ¶
const ( // InitEnforcer is string for invoking RPC InitEnforcer = "RemoteEnforcer.InitEnforcer" // InitSupervisor is string for invoking RPC InitSupervisor = "RemoteEnforcer.InitSupervisor" //Supervise is string for invoking RPC Supervise = "RemoteEnforcer.Supervise" //Unenforce is string for invoking RPC Unenforce = "RemoteEnforcer.Unenforce" //Unsupervise is string for invoking RPC Unsupervise = "RemoteEnforcer.Unsupervise" //Enforce is string for invoking RPC Enforce = "RemoteEnforcer.Enforce" // EnforcerExit is string for invoking RPC EnforcerExit = "RemoteEnforcer.EnforcerExit" // UpdateSecrets is string for invoking updatesecrets RPC UpdateSecrets = "RemoteEnforcer.UpdateSecrets" // SetTargetNetworks is string for invoking SetTargetNetworks RPC SetTargetNetworks = "RemoteEnforcer.SetTargetNetworks" // EnableIPTablesPacketTracing enable iptables trace mode EnableIPTablesPacketTracing = "RemoteEnforcer.EnableIPTablesPacketTracing" // EnableDatapathPacketTracing enable datapath packet tracing EnableDatapathPacketTracing = "RemoteEnforcer.EnableDatapathPacketTracing" )
Variables ¶
This section is empty.
Functions ¶
func LaunchRemoteEnforcer ¶
func LaunchRemoteEnforcer(service packetprocessor.PacketProcessor) error
LaunchRemoteEnforcer launches a remote enforcer
Types ¶
type RemoteEnforcer ¶
type RemoteEnforcer struct {
// contains filtered or unexported fields
}
RemoteEnforcer : This is the structure for maintaining state required by the remote enforcer. It is a cache of variables passed by the controller to the remote enforcer and other handles required by the remote enforcer to talk to the external processes
Why is this public when all members are private ? For golang RPC server requirements
func (*RemoteEnforcer) EnableDatapathPacketTracing ¶
func (s *RemoteEnforcer) EnableDatapathPacketTracing(req rpcwrapper.Request, resp *rpcwrapper.Response) error
EnableDatapathPacketTracing enable nfq datapath packet tracing
func (*RemoteEnforcer) EnableIPTablesPacketTracing ¶
func (s *RemoteEnforcer) EnableIPTablesPacketTracing(req rpcwrapper.Request, resp *rpcwrapper.Response) error
EnableIPTablesPacketTracing enables iptables trace packet tracing
func (*RemoteEnforcer) Enforce ¶
func (s *RemoteEnforcer) Enforce(req rpcwrapper.Request, resp *rpcwrapper.Response) error
Enforce this method calls the enforce method on the enforcer created during initenforcer
func (*RemoteEnforcer) EnforcerExit ¶
func (s *RemoteEnforcer) EnforcerExit(req rpcwrapper.Request, resp *rpcwrapper.Response) error
EnforcerExit is processing messages from the remote that are requesting an exit. In this case we simply cancel the context.
func (*RemoteEnforcer) InitEnforcer ¶
func (s *RemoteEnforcer) InitEnforcer(req rpcwrapper.Request, resp *rpcwrapper.Response) error
InitEnforcer is a function called from the controller using RPC. It intializes data structure required by the remote enforcer
func (*RemoteEnforcer) InitSupervisor ¶
func (s *RemoteEnforcer) InitSupervisor(req rpcwrapper.Request, resp *rpcwrapper.Response) error
InitSupervisor is a function called from the controller over RPC. It initializes data structure required by the supervisor
func (*RemoteEnforcer) SetTargetNetworks ¶
func (s *RemoteEnforcer) SetTargetNetworks(req rpcwrapper.Request, resp *rpcwrapper.Response) error
SetTargetNetworks calls the same method on the actual enforcer
func (*RemoteEnforcer) Supervise ¶
func (s *RemoteEnforcer) Supervise(req rpcwrapper.Request, resp *rpcwrapper.Response) error
Supervise This method calls the supervisor method on the supervisor created during initsupervisor
func (*RemoteEnforcer) Unenforce ¶
func (s *RemoteEnforcer) Unenforce(req rpcwrapper.Request, resp *rpcwrapper.Response) error
Unenforce this method calls the unenforce method on the enforcer created from initenforcer
func (*RemoteEnforcer) Unsupervise ¶
func (s *RemoteEnforcer) Unsupervise(req rpcwrapper.Request, resp *rpcwrapper.Response) error
Unsupervise This method calls the unsupervise method on the supervisor created during initsupervisor
func (*RemoteEnforcer) UpdateSecrets ¶
func (s *RemoteEnforcer) UpdateSecrets(req rpcwrapper.Request, resp *rpcwrapper.Response) error
UpdateSecrets updates the secrets used by the remote enforcer
type RemoteIntf ¶
type RemoteIntf interface { // InitEnforcer is a function called from the controller using RPC. // It intializes data structure required by the remote enforcer InitEnforcer(req rpcwrapper.Request, resp *rpcwrapper.Response) error // InitSupervisor is a function called from the controller over RPC. It initializes data structure required by the supervisor InitSupervisor(req rpcwrapper.Request, resp *rpcwrapper.Response) error //Supervise This method calls the supervisor method on the supervisor created during initsupervisor Supervise(req rpcwrapper.Request, resp *rpcwrapper.Response) error //Unenforce this method calls the unenforce method on the enforcer created from initenforcer Unenforce(req rpcwrapper.Request, resp *rpcwrapper.Response) error //Unsupervise This method calls the unsupervise method on the supervisor created during initsupervisor Unsupervise(req rpcwrapper.Request, resp *rpcwrapper.Response) error //Enforce this method calls the enforce method on the enforcer created during initenforcer Enforce(req rpcwrapper.Request, resp *rpcwrapper.Response) error // EnforcerExit this method is called when we received a killrpocess message from the controller // This allows a graceful exit of the enforcer EnforcerExit(req rpcwrapper.Request, resp *rpcwrapper.Response) error }
RemoteIntf is the interface implemented by the remote enforcer
Directories ¶
Path | Synopsis |
---|---|
internal
|
|
debugclient/mockdebugclient
Package mockdebugclient is a generated GoMock package.
|
Package mockdebugclient is a generated GoMock package. |
statsclient/mockstatsclient
Package mockstatsclient is a generated GoMock package.
|
Package mockstatsclient is a generated GoMock package. |
statscollector/mockstatscollector
Package mockstatscollector is a generated GoMock package.
|
Package mockstatscollector is a generated GoMock package. |
Package mockremoteenforcer is a generated GoMock package.
|
Package mockremoteenforcer is a generated GoMock package. |