Documentation ¶
Index ¶
- Constants
- Variables
- func ContainTsidInTelemetrySetup(value int, array []TelemetryResponse) int
- func Contains(stringList []string, target string) bool
- func ConvertActivateTypeToString(activationType ActivationTypeString) (activationTypeString string)
- func ConvertArrayQueryTypeToArrayString(queryTypes QueryTypeArrayString) (queryTypeStringes []string)
- func ConvertAttackSeverityToString(attackSeverity AttackSeverityString) (attackSeverityString string)
- func ConvertMeasurementIntervalToString(measurementInterval IntervalString) (measurementIntervalStr string)
- func ConvertMeasurementSampleToString(measurementSample SampleString) (measurementSampleStr string)
- func ConvertQueryTypeToString(queryType int) (queryTypeStr string)
- func ConvertTargetsRequestToStrings(prefixs []string, portRanges []PortRange, protocols []int, fqdns []string, ...) (result string)
- func ConvertTargetsResponseToStrings(prefixs []string, portRanges []PortRangeResponse, protocols []int, ...) (result string)
- func ConvertUnitToString(unit UnitString) (unitStr string)
- func CreateHeartBeatJsonData(jsonFileName string, hbValue bool)
- func GetLibCoapType(message string) libcoap.Type
- func IsRequest(message string) bool
- func MarshalCbor(msg interface{}) ([]byte, error)
- func NewHeartBeatMessage(session libcoap.Session, jsonFileName string, hbValue bool) (*libcoap.Pdu, error)
- func ParseTelemetryPreMitigationUriPath(uriPath []string) (cuid string, tmid *int, cdid string, err error)
- func ParseURIPath(uriPath []string) (cdid string, cuid string, mid *int, err error)
- func SupportRequest() []string
- func UnmarshalCbor(pdu *libcoap.Pdu, typ reflect.Type) (interface{}, error)
- type ACL
- type Acl
- type ActivationType
- type ActivationTypeString
- type AttackDetail
- type AttackDetailResponse
- type AttackSeverity
- type AttackSeverityString
- type Baseline
- type BaselineResponse
- type ChannelType
- type Code
- type ConfigurationResponse
- type ConfigurationResponseConfig
- type ConfigurationResponseConfigs
- type ConflictInformation
- type ConflictScope
- type Content
- type DecimalCurrent
- type DecimalCurrentMinMax
- type HeartBeat
- type HeartBeatRequest
- type ICMPTypeRange
- type ICMPTypeRangeResponse
- type IntCurrent
- type IntCurrentMinMax
- type Interval
- type IntervalString
- type Length
- type Lifetime
- type Message
- type MitigationAcl
- type MitigationRequest
- func (m *MitigationRequest) EffectiveClientDomainIdentifier() string
- func (m *MitigationRequest) EffectiveClientIdentifier() string
- func (m *MitigationRequest) EffectiveMitigationId() *int
- func (m *MitigationRequest) String() (result string)
- func (m *MitigationRequest) UpdateClientDomainIdentifier(cdid string)
- func (m *MitigationRequest) UpdateClientIdentifier(cuid string)
- func (m *MitigationRequest) UpdateMitigationId(mid *int)
- type MitigationResponse
- type MitigationResponsePut
- type MitigationResponseServiceUnavailable
- type MitigationScope
- type MitigationScopeControlFiltering
- type MitigationScopePut
- type MitigationScopeStatus
- type ObserveValue
- type Option
- type PercentilePeakAndCurrent
- type PercentilePeakAndCurrentResponse
- type PortRange
- type PortRangeResponse
- type PreOrOngoingMitigation
- type PreOrOngoingMitigationResponse
- type ProbingRate
- type QueryType
- type QueryTypeArrayString
- type Role
- type Sample
- type SampleString
- type Scope
- type ScopeControlFiltering
- type ScopePut
- type ScopeStatus
- type SignalChannelRequest
- type SignalConfig
- type SignalConfigRequest
- type SignalConfigs
- type SupportedUnitResponse
- type Talker
- type TalkerResponse
- type Target
- type TargetResponse
- type TargetType
- type Telemetry
- type TelemetryAttackDetail
- type TelemetryAttackDetailResponse
- type TelemetryConfigurationCurrent
- type TelemetryConfigurationResponse
- type TelemetryPreMitigation
- type TelemetryPreMitigationRequest
- type TelemetryPreMitigationResp
- type TelemetryPreMitigationResponse
- type TelemetryResponse
- type TelemetryResponseConflict
- type TelemetrySetup
- type TelemetrySetupRequest
- type TelemetrySetupResp
- type TelemetrySetupRespConflict
- type TelemetrySetupResponse
- type TelemetrySetupResponseConflict
- type TelemetryTalker
- type TelemetryTalkerResponse
- type TelemetryTopTalker
- type TelemetryTopTalkerResponse
- type TelemetryTotalAttackConnection
- type TelemetryTotalAttackConnectionResponse
- type TopTalker
- type TopTalkerResponse
- type TotalAttackConnectionPort
- type TotalAttackConnectionPortResponse
- type TotalAttackConnectionProtocol
- type TotalAttackConnectionProtocolResponse
- type TotalConnectionCapacity
- type TotalConnectionCapacityPerPort
- type TotalConnectionCapacityPerPortResponse
- type TotalConnectionCapacityResponse
- type TotalPipeCapacity
- type TotalPipeCapacityResponse
- type Traffic
- type TrafficPerPort
- type TrafficPerPortResponse
- type TrafficPerProtocol
- type TrafficPerProtocolResponse
- type TrafficResponse
- type Uint64String
- type Unit
- type UnitConfig
- type UnitConfigResponse
- type UnitString
Constants ¶
const ( JSON_HEART_BEAT_SERVER = "jsonHeartBeatServer.json" JSON_HEART_BEAT_CLIENT = "jsonHeartBeatClient.json" )
Variables ¶
var MessageTypes = make(map[Code]Message)
Functions ¶
func ContainTsidInTelemetrySetup ¶
func ContainTsidInTelemetrySetup(value int, array []TelemetryResponse) int
Check telemetry setup contains tsid value
func ConvertActivateTypeToString ¶
func ConvertActivateTypeToString(activationType ActivationTypeString) (activationTypeString string)
Convert activation-type to string
func ConvertArrayQueryTypeToArrayString ¶
func ConvertArrayQueryTypeToArrayString(queryTypes QueryTypeArrayString) (queryTypeStringes []string)
Convert array query type to array string
func ConvertAttackSeverityToString ¶
func ConvertAttackSeverityToString(attackSeverity AttackSeverityString) (attackSeverityString string)
Convert attack-severity to string
func ConvertMeasurementIntervalToString ¶
func ConvertMeasurementIntervalToString(measurementInterval IntervalString) (measurementIntervalStr string)
Convert measurement_interval from int to string
func ConvertMeasurementSampleToString ¶
func ConvertMeasurementSampleToString(measurementSample SampleString) (measurementSampleStr string)
Convert measurement_sample from int to string
func ConvertQueryTypeToString ¶
Convert query type to string
func ConvertTargetsRequestToStrings ¶
func ConvertTargetsRequestToStrings(prefixs []string, portRanges []PortRange, protocols []int, fqdns []string, uris []string, aliases []string, spacesn string) (result string)
Convert TagetsRequest to string
func ConvertTargetsResponseToStrings ¶
func ConvertTargetsResponseToStrings(prefixs []string, portRanges []PortRangeResponse, protocols []int, fqdns []string, uris []string, aliases []string, spacesn string) (result string)
Convert TargetsResponse to string
func ConvertUnitToString ¶
func ConvertUnitToString(unit UnitString) (unitStr string)
Convert unit from int to string
func CreateHeartBeatJsonData ¶
* Create heartbeat json data
func GetLibCoapType ¶
func MarshalCbor ¶
func NewHeartBeatMessage ¶
func NewHeartBeatMessage(session libcoap.Session, jsonFileName string, hbValue bool) (*libcoap.Pdu, error)
create new heartbeat message
func ParseTelemetryPreMitigationUriPath ¶
func ParseTelemetryPreMitigationUriPath(uriPath []string) (cuid string, tmid *int, cdid string, err error)
* Get cuid, tmid, cdid value from URI-Path
func ParseURIPath ¶
* Get cuid, mid value from URI-Path
Types ¶
type ACL ¶
type ACL struct { AclName string `json:"acl-name" codec:"23,omitempty"` ActivationType *ActivationTypeString `json:"activation-type" codec:"52,omitempty"` // contains filtered or unexported fields }
type Acl ¶
type Acl struct { AclName string `json:"acl-name" codec:"23,omitempty"` AclType string `json:"acl-type" codec:"24,omitempty"` // contains filtered or unexported fields }
Acl filtering rule for white list that conflict with attacking target (not implemented)
type ActivationType ¶
type ActivationType string
const ( ACTIVATE_WHEN_MITIGATING ActivationType = "activate-when-mitigating" IMMEDIATE ActivationType = "immediate" DEACTIVATE ActivationType = "deactivate" )
type ActivationTypeString ¶
type ActivationTypeString int
ActivationTypeString to convert value from string (json) to int (cbor)
and to convert value from int (cbor) to string (json)
const ( ActivateWhenMitigating ActivationTypeString = iota + 1 Immediate Deactive )
func ConvertActivateTypeToInt ¶
func ConvertActivateTypeToInt(activationType string) (activationTypeInt ActivationTypeString)
Convert activation-type to int
func (ActivationTypeString) MarshalJSON ¶
func (at ActivationTypeString) MarshalJSON() ([]byte, error)
func (*ActivationTypeString) UnmarshalJSON ¶
func (at *ActivationTypeString) UnmarshalJSON(data []byte) error
type AttackDetail ¶
type AttackDetail struct { VendorId *uint32 `json:"vendor-id" codec:"202,omitempty"` AttackId *uint32 `json:"attack-id" codec:"164,omitempty"` DescriptionLang *string `json:"description-lang" codec:"210,omitempty"` AttackDescription *string `json:"attack-description" codec:"165,omitempty"` AttackSeverity *AttackSeverityString `json:"attack-severity" codec:"166,omitempty"` StartTime *Uint64String `json:"start-time" type:"string" codec:"167,omitempty"` EndTime *Uint64String `json:"end-time" codec:"168,omitempty"` SourceCount *PercentilePeakAndCurrent `json:"source-count" codec:"169,omitempty"` TopTalKer *TopTalker `json:"top-talker" codec:"170,omitempty"` // contains filtered or unexported fields }
func (AttackDetail) String ¶
func (ad AttackDetail) String(spacesn string) (result string)
Convert AttackDetail to String
type AttackDetailResponse ¶
type AttackDetailResponse struct { VendorId int `json:"vendor-id" codec:"202,omitempty"` AttackId int `json:"attack-id" codec:"164,omitempty"` DescriptionLang *string `json:"description-lang" codec:"210,omitempty"` AttackDescription *string `json:"attack-description" codec:"165,omitempty"` AttackSeverity AttackSeverityString `json:"attack-severity" codec:"166,omitempty"` StartTime *Uint64String `json:"start-time" codec:"167,omitempty"` EndTime *Uint64String `json:"end-time" codec:"168,omitempty"` SourceCount *PercentilePeakAndCurrentResponse `json:"source-count" codec:"169,omitempty"` TopTalKer *TopTalkerResponse `json:"top-talker" codec:"170,omitempty"` // contains filtered or unexported fields }
func (AttackDetailResponse) String ¶
func (ad AttackDetailResponse) String(spacesn string) (result string)
Convert AttackDetailResponse to String
type AttackSeverity ¶
type AttackSeverity string
const ( NONE AttackSeverity = "none" LOW AttackSeverity = "low" MEDIUM AttackSeverity = "medium" HIGH AttackSeverity = "high" UNKNOWN AttackSeverity = "unknown" )
type AttackSeverityString ¶
type AttackSeverityString int
AttackSeverityString to convert value from string (json) to int (cbor)
and to convert value from int (cbor) to string (json)
const ( None AttackSeverityString = iota + 1 Low Medium High Unknown )
func ConvertAttackSeverityToInt ¶
func ConvertAttackSeverityToInt(attackSeverity string) (attackSeverityInt AttackSeverityString)
Convert attack-severity to int
func (AttackSeverityString) MarshalJSON ¶
func (as AttackSeverityString) MarshalJSON() ([]byte, error)
func (*AttackSeverityString) UnmarshalJSON ¶
func (as *AttackSeverityString) UnmarshalJSON(data []byte) error
type Baseline ¶
type Baseline struct { Id *int `json:"id" codec:"163,omitempty"` TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` TargetPortRange []PortRange `json:"target-port-range" codec:"7,omitempty"` TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` TargetFQDN []string `json:"target-fqdn" codec:"11,omitempty"` TargetURI []string `json:"target-uri" codec:"12,omitempty"` AliasName []string `json:"alias-name" codec:"13,omitempty"` TotalTrafficNormal []Traffic `json:"total-traffic-normal" codec:"139,omitempty"` TotalTrafficNormalPerProtocol []TrafficPerProtocol `json:"total-traffic-normal-per-protocol" codec:"192,omitempty"` TotalTrafficNormalPerPort []TrafficPerPort `json:"total-traffic-normal-per-port" codec:"193,omitempty"` TotalConnectionCapacity []TotalConnectionCapacity `json:"total-connection-capacity" codec:"146,omitempty"` TotalConnectionCapacityPerPort []TotalConnectionCapacityPerPort `json:"total-connection-capacity-per-port" codec:"194,omitempty"` // contains filtered or unexported fields }
type BaselineResponse ¶
type BaselineResponse struct { Id int `json:"id" codec:"163,omitempty"` TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` TargetPortRange []PortRangeResponse `json:"target-port-range" codec:"7,omitempty"` TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` TargetFQDN []string `json:"target-fqdn" codec:"11,omitempty"` TargetURI []string `json:"target-uri" codec:"12,omitempty"` AliasName []string `json:"alias-name" codec:"13,omitempty"` TotalTrafficNormal []TrafficResponse `json:"total-traffic-normal" codec:"139,omitempty"` TotalTrafficNormalPerProtocol []TrafficPerProtocolResponse `json:"total-traffic-normal-per-protocol" codec:"192,omitempty"` TotalTrafficNormalPerPort []TrafficPerPortResponse `json:"total-traffic-normal-per-port" codec:"193,omitempty"` TotalConnectionCapacity []TotalConnectionCapacityResponse `json:"total-connection-capacity" codec:"146,omitempty"` TotalConnectionCapacityPerPort []TotalConnectionCapacityPerPortResponse `json:"total-connection-capacity-per-port" codec:"194,omitempty"` // contains filtered or unexported fields }
type ChannelType ¶
type ChannelType int
const ( SIGNAL ChannelType = iota DATA )
func GetChannelType ¶
func GetChannelType(message string) ChannelType
* obtain channel types from the message names.
type Code ¶
type Code int
const ( REGISTRATION Code = iota REGISTRATION_CANCELLING MITIGATION_REQUEST SESSION_CONFIGURATION MITIGATION_EFFICACY_UPDATES MITIGATION_STATUS_UPDATES MITIGATION_TERMINATION_REQUEST MITIGATION_TERMINATION_STATUS_ACKNOWLEDGEMENT HEARTBEAT REGISTRATION_CANCELLING_RESPONSE REGISTRATION_RESPONSE CREATE_IDENTIFIERS INSTALL_FILTERING_RULE SIGNAL_CHANNEL TELEMETRY_SETUP_REQUEST TELEMETRY_PRE_MITIGATION_REQUEST )
type ConfigurationResponse ¶
type ConfigurationResponse struct { SignalConfigs ConfigurationResponseConfigs `json:"ietf-dots-signal-channel:signal-config" codec:"30"` // contains filtered or unexported fields }
func (*ConfigurationResponse) String ¶
func (m *ConfigurationResponse) String() (result string)
* Parse Session Configuration Response model to string for log * parameter: * m Configuration Response model * return: Configuration Response in string
type ConfigurationResponseConfig ¶
type ConfigurationResponseConfig struct { HeartbeatInterval IntCurrentMinMax `json:"heartbeat-interval" codec:"33"` MissingHbAllowed IntCurrentMinMax `json:"missing-hb-allowed" codec:"37"` MaxRetransmit IntCurrentMinMax `json:"max-retransmit" codec:"38"` AckTimeout DecimalCurrentMinMax `json:"ack-timeout" codec:"39"` AckRandomFactor DecimalCurrentMinMax `json:"ack-random-factor" codec:"40"` ProbingRate ProbingRate `json:"probing-rate" codec:"50"` // The parameters in draft-ietf-dots-robust-blocks MaxPayload IntCurrentMinMax `json:"ietf-dots-robust-trans:max-payloads" codec:"32776"` NonMaxRetransmit IntCurrentMinMax `json:"ietf-dots-robust-trans:non-max-retransmit" codec:"32777"` NonTimeout DecimalCurrentMinMax `json:"ietf-dots-robust-trans:non-timeout" codec:"32778"` NonReceiveTimeout DecimalCurrentMinMax `json:"ietf-dots-robust-trans:non-receive-timeout" codec:"32779"` NonProbingWait DecimalCurrentMinMax `json:"ietf-dots-robust-trans:non-probing-wait" codec:"32780"` NonPartialWait DecimalCurrentMinMax `json:"ietf-dots-robust-trans:non-partial-wait" codec:"32781"` // contains filtered or unexported fields }
type ConfigurationResponseConfigs ¶
type ConfigurationResponseConfigs struct { MitigatingConfig ConfigurationResponseConfig `json:"mitigating-config" codec:"32"` IdleConfig ConfigurationResponseConfig `json:"idle-config" codec:"44"` // contains filtered or unexported fields }
type ConflictInformation ¶
type ConflictInformation struct { ConflictStatus int `json:"conflict-status" codec:"18,omitempty"` ConflictCause int `json:"conflict-cause" codec:"19,omitempty"` RetryTimer int `json:"retry-timer" codec:"20,omitempty"` ConflictScope *ConflictScope `json:"conflict-scope" codec:"21,omitempty"` // contains filtered or unexported fields }
Conflict information for response when mitigation request is rejected by dots server by conflicting with another mitigation
type ConflictScope ¶
type ConflictScope struct { TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` TargetPortRange []PortRangeResponse `json:"target-port-range" codec:"7,omitempty"` TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` FQDN []string `json:"target-fqdn" codec:"11,omitempty"` URI []string `json:"target-uri" codec:"12,omitempty"` AliasName []string `json:"alias-name" codec:"13,omitempty"` AclList []Acl `json:"acl-list" codec:"22,omitempty"` MitigationId int `json:"mid" codec:"5,omitempty"` // contains filtered or unexported fields }
Conflict scope that contains conflicted scope data
type DecimalCurrent ¶
type DecimalCurrentMinMax ¶
type DecimalCurrentMinMax struct { CurrentValue decimal.Decimal `json:"current-value-decimal" codec:"43"` MinValue decimal.Decimal `json:"min-value-decimal" codec:"42"` MaxValue decimal.Decimal `json:"max-value-decimal" codec:"41"` // contains filtered or unexported fields }
func (*DecimalCurrentMinMax) SetMinMax ¶
func (v *DecimalCurrentMinMax) SetMinMax(pr *config.FloatParameterRange)
type HeartBeat ¶
type HeartBeat struct { PeerHbStatus *bool `json:"peer-hb-status" codec:"51,omitempty"` // contains filtered or unexported fields }
type HeartBeatRequest ¶
type HeartBeatRequest struct { HeartBeat HeartBeat `json:"ietf-dots-signal-channel:heartbeat" codec:"49,omitempty"` // contains filtered or unexported fields }
func ValidateHeartBeatMechanism ¶
func ValidateHeartBeatMechanism(request *libcoap.Pdu) (body *HeartBeatRequest, errMsg string)
validate heartbeat mechanism
func (*HeartBeatRequest) String ¶
func (hb *HeartBeatRequest) String() (result string)
* Convert SignalConfigRequest to strings
type ICMPTypeRange ¶
type ICMPTypeRangeResponse ¶
type IntCurrent ¶
type IntCurrent struct { CurrentValue *int `json:"current-value" codec:"36,omitempty"` // contains filtered or unexported fields }
type IntCurrentMinMax ¶
type IntCurrentMinMax struct { CurrentValue int `json:"current-value" codec:"36"` MinValue int `json:"min-value" codec:"35"` MaxValue int `json:"max-value" codec:"34"` // contains filtered or unexported fields }
func (*IntCurrentMinMax) SetMinMax ¶
func (v *IntCurrentMinMax) SetMinMax(pr *config.IntegerParameterRange)
type IntervalString ¶
type IntervalString int
IntervalString to convert value from string (json) to int (cbor)
and to convert value from int (cbor) to string (json)
const ( FiveMinutesInterval IntervalString = iota + 1 TenMinutesInterval ThirtyMinutesInterval Hour Day Week Month )
func ConvertMeasurementIntervalToInt ¶
func ConvertMeasurementIntervalToInt(measurementInterval string) (measurementIntervalInt IntervalString)
Convert measurement_interval from string to int
func (IntervalString) MarshalJSON ¶
func (i IntervalString) MarshalJSON() ([]byte, error)
func (*IntervalString) UnmarshalJSON ¶
func (i *IntervalString) UnmarshalJSON(data []byte) error
type Message ¶
type Message struct { Role Role ChannelType ChannelType LibCoapType libcoap.Type Name string Path string Type reflect.Type }
* Dots message structure.
type MitigationAcl ¶
type MitigationAcl string
const (
MITIGATION_ACL MitigationAcl = "mitigation-acl-"
)
type MitigationRequest ¶
type MitigationRequest struct { MitigationScope MitigationScope `json:"ietf-dots-signal-channel:mitigation-scope" codec:"1"` // contains filtered or unexported fields }
func (*MitigationRequest) EffectiveClientDomainIdentifier ¶
func (m *MitigationRequest) EffectiveClientDomainIdentifier() string
* get last client-domain-identifier
func (*MitigationRequest) EffectiveClientIdentifier ¶
func (m *MitigationRequest) EffectiveClientIdentifier() string
* get last client-identifier
func (*MitigationRequest) EffectiveMitigationId ¶
func (m *MitigationRequest) EffectiveMitigationId() *int
* get last client-domain-identifier
func (*MitigationRequest) String ¶
func (m *MitigationRequest) String() (result string)
* Convert MitigationRequests to strings
func (*MitigationRequest) UpdateClientDomainIdentifier ¶
func (m *MitigationRequest) UpdateClientDomainIdentifier(cdid string)
* set client-domain-identifier
func (*MitigationRequest) UpdateClientIdentifier ¶
func (m *MitigationRequest) UpdateClientIdentifier(cuid string)
* set client-identifier
func (*MitigationRequest) UpdateMitigationId ¶
func (m *MitigationRequest) UpdateMitigationId(mid *int)
* set mitigation-id
type MitigationResponse ¶
type MitigationResponse struct { MitigationScope MitigationScopeStatus `json:"ietf-dots-signal-channel:mitigation-scope" codec:"1"` // contains filtered or unexported fields }
func (*MitigationResponse) String ¶
func (m *MitigationResponse) String() (result string)
* Parse Mitigation Response model to string for log * parameter: * m Mitigation Response model * return: Mitigation Response in string
type MitigationResponsePut ¶
type MitigationResponsePut struct { MitigationScope MitigationScopePut `json:"ietf-dots-signal-channel:mitigation-scope" codec:"1"` // contains filtered or unexported fields }
func NewMitigationResponsePut ¶
func NewMitigationResponsePut(req *MitigationRequest, conflictInfo *ConflictInformation) MitigationResponsePut
func (*MitigationResponsePut) String ¶
func (m *MitigationResponsePut) String() (result string)
* Parse Mitigation Response Put model to string for log * parameter: * m Mitigation Response Put model * return: Mitigation Response Put in string
type MitigationResponseServiceUnavailable ¶
type MitigationResponseServiceUnavailable struct { // contains filtered or unexported fields }
func (*MitigationResponseServiceUnavailable) String ¶
func (m *MitigationResponseServiceUnavailable) String() (result string)
* Parse Mitigation Response Service Unavailable model to string for log * parameter: * m Mitigation Response Service Unavailable model * return: Mitigation Response Service Unavailable in string
type MitigationScope ¶
type MitigationScopeControlFiltering ¶
type MitigationScopeControlFiltering struct { ScopeControlFiltering []ScopeControlFiltering `json:"scope" codec:"2"` // contains filtered or unexported fields }
type MitigationScopePut ¶
type MitigationScopePut struct { Scopes []ScopePut `json:"scope" codec:"2"` // contains filtered or unexported fields }
type MitigationScopeStatus ¶
type MitigationScopeStatus struct { Scopes []ScopeStatus `json:"scope" codec:"2"` // contains filtered or unexported fields }
type ObserveValue ¶
type ObserveValue uint
const ( Register ObserveValue = 0 Deregister ObserveValue = 1 )
type PercentilePeakAndCurrent ¶
type PercentilePeakAndCurrent struct { LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (PercentilePeakAndCurrent) String ¶
func (sc PercentilePeakAndCurrent) String(spacesn string) (result string)
Convert PercentilePeakAndCurrent to String
type PercentilePeakAndCurrentResponse ¶
type PercentilePeakAndCurrentResponse struct { LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (PercentilePeakAndCurrentResponse) String ¶
func (sc PercentilePeakAndCurrentResponse) String(spacesn string) (result string)
Convert PercentilePeakAndCurrentResponse to String
type PortRangeResponse ¶
type PreOrOngoingMitigation ¶
type PreOrOngoingMitigation struct { Target *Target `json:"target" codec:"189,omitempty"` TotalTraffic []Traffic `json:"total-traffic" codec:"145,omitempty"` TotalTrafficProtocol []TrafficPerProtocol `json:"total-traffic-protocol" codec:"195,omitempty"` TotalTrafficPort []TrafficPerPort `json:"total-traffic-port" codec:"196,omitempty"` TotalAttackTraffic []Traffic `json:"total-attack-traffic" codec:"144,omitempty"` TotalAttackTrafficProtocol []TrafficPerProtocol `json:"total-attack-traffic-protocol" codec:"197,omitempty"` TotalAttackTrafficPort []TrafficPerPort `json:"total-attack-traffic-port" codec:"198,omitempty"` TotalAttackConnectionProtocol []TotalAttackConnectionProtocol `json:"total-attack-connection-protocol" codec:"173,omitempty"` TotalAttackConnectionPort []TotalAttackConnectionPort `json:"total-attack-connection-port" codec:"199,omitempty"` AttackDetail []AttackDetail `json:"attack-detail" codec:"162,omitempty"` // contains filtered or unexported fields }
type PreOrOngoingMitigationResponse ¶
type PreOrOngoingMitigationResponse struct { Tmid int `json:"tmid" codec:"181,omitempty"` Target *TargetResponse `json:"target" codec:"189,omitempty"` TotalTraffic []TrafficResponse `json:"total-traffic" codec:"145,omitempty"` TotalTrafficProtocol []TrafficPerProtocolResponse `json:"total-traffic-protocol" codec:"195,omitempty"` TotalTrafficPort []TrafficPerPortResponse `json:"total-traffic-port" codec:"196,omitempty"` TotalAttackTraffic []TrafficResponse `json:"total-attack-traffic" codec:"144,omitempty"` TotalAttackTrafficProtocol []TrafficPerProtocolResponse `json:"total-attack-traffic-protocol" codec:"197,omitempty"` TotalAttackTrafficPort []TrafficPerPortResponse `json:"total-attack-traffic-port" codec:"198,omitempty"` TotalAttackConnectionProtocol []TotalAttackConnectionProtocolResponse `json:"total-attack-connection-protocol" codec:"173,omitempty"` TotalAttackConnectionPort []TotalAttackConnectionPortResponse `json:"total-attack-connection-port" codec:"199,omitempty"` AttackDetail []AttackDetailResponse `json:"attack-detail" codec:"162,omitempty"` // contains filtered or unexported fields }
type ProbingRate ¶
type QueryType ¶
type QueryType string
const ( TARGET_PREFIX QueryType = "target-prefix" TARGET_PORT QueryType = "target-port" TARGET_PROTOCOL QueryType = "target-protocol" TARGET_FQDN QueryType = "target-fqdn" TARGET_URI QueryType = "target-uri" TARGET_ALIAS QueryType = "alias-name" MID QueryType = "mid" SOURCE_PREFIX QueryType = "source-prefix" SOURCE_PORT QueryType = "source-port" SOURCE_ICMP_TYPE QueryType = "source-icmp-type" CONTENT QueryType = "c" )
type QueryTypeArrayString ¶
type QueryTypeArrayString []int
QueryTypeArrayString to convert value from array int (cbor) to array string (json)
func (QueryTypeArrayString) MarshalJSON ¶
func (qta QueryTypeArrayString) MarshalJSON() ([]byte, error)
type SampleString ¶
type SampleString int
SampleString to convert value from string (json) to int (cbor)
and to convert value from int (cbor) to string (json)
const ( Second SampleString = iota + 1 FiveSeconds ThirtySeconds OneMinute FiveMinutes TenMinutes ThirtyMinutes OneHour )
func ConvertMeasurementSampleToInt ¶
func ConvertMeasurementSampleToInt(measurementSample string) (measurementSampleInt SampleString)
Convert measurement_sample from string to int
func (SampleString) MarshalJSON ¶
func (s SampleString) MarshalJSON() ([]byte, error)
func (*SampleString) UnmarshalJSON ¶
func (s *SampleString) UnmarshalJSON(data []byte) error
type Scope ¶
type Scope struct { // A unique identifier that is randomly generated by a DOTS client to prevent request collisions. (used only server side in BODY) ClientIdentifier string `json:"cuid" codec:"4,omitempty"` // Identifier for the mitigation request MitigationId *int `json:"mid" codec:"5,omitempty"` // prefix TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` // lower-port upper-port TargetPortRange []PortRange `json:"target-port-range" codec:"7,omitempty"` // Internet Protocol number TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` // FQDN FQDN []string `json:"target-fqdn" codec:"11,omitempty"` // URI URI []string `json:"target-uri" codec:"12,omitempty"` // alias name AliasName []string `json:"alias-name" codec:"13,omitempty"` // source prefix SourcePrefix []string `json:"ietf-dots-call-home:source-prefix" codec:"32768,omitempty"` // source port range SourcePortRange []PortRange `json:"ietf-dots-call-home:source-port-range" codec:"32769,omitempty"` // source icmp type range SourceICMPTypeRange []ICMPTypeRange `json:"ietf-dots-call-home:source-icmp-type-range" codec:"32770,omitempty"` // list of acl AclList []ACL `json:"ietf-dots-signal-control:acl-list" codec:"53,omitempty"` // lifetime Lifetime *int `json:"lifetime" codec:"14,omitempty"` // attack-status AttackStatus *int `json:"attack-status" codec:"29,omitempty"` // If false, mitigation is triggered only if the signal channel is lost. This is an optional attribute. TriggerMitigation *bool `json:"trigger-mitigation" codec:"45,omitempty"` // telemetry total attack traffic TotalAttackTraffic []Traffic `json:"ietf-dots-telemetry:total-attack-traffic" codec:"205,omitempty"` // telemetry attack detail AttackDetail []TelemetryAttackDetail `json:"ietf-dots-telemetry:attack-detail" codec:"207,omitempty"` // contains filtered or unexported fields }
type ScopeControlFiltering ¶
type ScopePut ¶
type ScopePut struct { // Identifier for the mitigation request MitigationId int `json:"mid" codec:"5"` // lifetime Lifetime int `json:"lifetime" codec:"14,omitempty"` // Conflict Information ConflictInformation *ConflictInformation `json:"conflict-information" codec:"17,omitempty"` // contains filtered or unexported fields }
type ScopeStatus ¶
type ScopeStatus struct { MitigationId int `json:"mid" codec:"5"` MitigationStart *Uint64String `json:"mitigation-start" codec:"15,omitempty"` TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` TargetPortRange []PortRangeResponse `json:"target-port-range" codec:"7,omitempty"` TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` FQDN []string `json:"target-fqdn" codec:"11,omitempty"` URI []string `json:"target-uri" codec:"12,omitempty"` AliasName []string `json:"alias-name" codec:"13,omitempty"` SourcePrefix []string `json:"ietf-dots-call-home:source-prefix" codec:"32768,omitempty"` SourcePortRange []PortRangeResponse `json:"ietf-dots-call-home:source-port-range" codec:"32769,omitempty"` SourceICMPTypeRange []ICMPTypeRangeResponse `json:"ietf-dots-call-home:source-icmp-type-range" codec:"32770,omitempty"` AclList []ACL `json:"ietf-dots-signal-control:acl-list" codec:"53,omitempty"` TriggerMitigation *bool `json:"trigger-mitigation" codec:"45,omitempty"` Lifetime *int `json:"lifetime" codec:"14"` Status *int `json:"status" codec:"16"` BytesDropped *int `json:"bytes-dropped" codec:"25"` BpsDropped *int `json:"bps-dropped" codec:"26"` PktsDropped *int `json:"pkts-dropped" codec:"27"` PpsDropped *int `json:"pps-dropped" codec:"28"` TotalTraffic []TrafficResponse `json:"ietf-dots-telemetry:total-traffic" codec:"204,omitempty"` TotalAttackTraffic []TrafficResponse `json:"ietf-dots-telemetry:total-attack-traffic" codec:"205,omitempty"` TotalAttackConnection *TelemetryTotalAttackConnectionResponse `json:"ietf-dots-telemetry:total-attack-connection" codec:"206,omitempty"` AttackDetail []TelemetryAttackDetailResponse `json:"ietf-dots-telemetry:attack-detail" codec:"207,omitempty"` // contains filtered or unexported fields }
type SignalChannelRequest ¶
type SignalChannelRequest struct {
// contains filtered or unexported fields
}
type SignalConfig ¶
type SignalConfig struct { // Identifier for the DOTS signal channel session configuration data represented as an integer. // This identifier MUST be generated by the DOTS client. This document does not make any assumption about how this // identifier is generated. This is a mandatory attribute. SessionId int `json:"sid" codec:"31,omitempty"` // Heartbeat interval to check the DOTS peer health. This is an optional attribute. HeartbeatInterval IntCurrent `json:"heartbeat-interval" codec:"33,omitempty"` // Maximum number of missing heartbeat response allowed. This is an optional attribute. MissingHbAllowed IntCurrent `json:"missing-hb-allowed" codec:"37,omitempty"` // Maximum number of retransmissions for a message (referred to as MAX_RETRANSMIT parameter in CoAP). // This is an optional attribute. MaxRetransmit IntCurrent `json:"max-retransmit" codec:"38,omitempty"` // Timeout value in seconds used to calculate the initial retransmission timeout value (referred to as ACK_TIMEOUT // parameter in CoAP). This is an optional attribute. AckTimeout DecimalCurrent `json:"ack-timeout" codec:"39,omitempty"` // Random factor used to influence the timing of retransmissions (referred to as ACK_RANDOM_FACTOR parameter in // CoAP). This is an optional attribute. AckRandomFactor DecimalCurrent `json:"ack-random-factor" codec:"40,omitempty"` // The parameters in draft-ietf-dots-robust-blocks MaxPayload IntCurrent `json:"ietf-dots-robust-trans:max-payloads" codec:"32776,omitempty"` NonMaxRetransmit IntCurrent `json:"ietf-dots-robust-trans:non-max-retransmit" codec:"32777,omitempty"` NonTimeout DecimalCurrent `json:"ietf-dots-robust-trans:non-timeout" codec:"32778,omitempty"` NonReceiveTimeout DecimalCurrent `json:"ietf-dots-robust-trans:non-receive-timeout" codec:"32779,omitempty"` NonProbingWait DecimalCurrent `json:"ietf-dots-robust-trans:non-probing-wait" codec:"32780,omitempty"` NonPartialWait DecimalCurrent `json:"ietf-dots-robust-trans:non-partial-wait" codec:"32781,omitempty"` // contains filtered or unexported fields }
type SignalConfigRequest ¶
type SignalConfigRequest struct { SignalConfigs SignalConfigs `json:"ietf-dots-signal-channel:signal-config" codec:"30"` // contains filtered or unexported fields }
func (*SignalConfigRequest) String ¶
func (m *SignalConfigRequest) String() (result string)
* Convert SignalConfigRequest to strings
type SignalConfigs ¶
type SignalConfigs struct { MitigatingConfig SignalConfig `json:"mitigating-config" codec:"32,omitempty"` IdleConfig SignalConfig `json:"idle-config" codec:"44,omitempty"` // contains filtered or unexported fields }
type SupportedUnitResponse ¶
type SupportedUnitResponse struct { UnitConfigList []UnitConfigResponse `json:"unit-config" codec:"133,omitempty"` // contains filtered or unexported fields }
type Talker ¶
type Talker struct { SpoofedStatus *bool `json:"spoofed-status" codec:"171,omitempty"` SourcePrefix *string `json:"source-prefix" codec:"185,omitempty"` SourcePortRange []PortRange `json:"source-port-range" codec:"187,omitempty"` SourceIcmpTypeRange []ICMPTypeRange `json:"source-icmp-type-range" codec:"188,omitempty"` TotalAttackTraffic []Traffic `json:"total-attack-traffic" codec:"144,omitempty"` TotalAttackConnectionProtocol []TotalAttackConnectionProtocol `json:"total-attack-connection-protocol" codec:"173,omitempty"` // contains filtered or unexported fields }
type TalkerResponse ¶
type TalkerResponse struct { SpoofedStatus bool `json:"spoofed-status" codec:"171,omitempty"` SourcePrefix string `json:"source-prefix" codec:"185,omitempty"` SourcePortRange []PortRangeResponse `json:"source-port-range" codec:"187,omitempty"` SourceIcmpTypeRange []ICMPTypeRangeResponse `json:"source-icmp-type-range" codec:"188,omitempty"` TotalAttackTraffic []TrafficResponse `json:"total-attack-traffic" codec:"144,omitempty"` TotalAttackConnectionProtocol []TotalAttackConnectionProtocolResponse `json:"total-attack-connection-protocol" codec:"173,omitempty"` // contains filtered or unexported fields }
func (TalkerResponse) String ¶
func (t TalkerResponse) String(spacesn string) (result string)
Convert TalkerResponse to String
type Target ¶
type Target struct { TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` TargetPortRange []PortRange `json:"target-port-range" codec:"7,omitempty"` TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` FQDN []string `json:"target-fqdn" codec:"11,omitempty"` URI []string `json:"target-uri" codec:"12,omitempty"` AliasName []string `json:"alias-name" codec:"13,omitempty"` // contains filtered or unexported fields }
type TargetResponse ¶
type TargetResponse struct { TargetPrefix []string `json:"target-prefix" codec:"6,omitempty"` TargetPortRange []PortRangeResponse `json:"target-port-range" codec:"7,omitempty"` TargetProtocol []int `json:"target-protocol" codec:"10,omitempty"` FQDN []string `json:"target-fqdn" codec:"11,omitempty"` URI []string `json:"target-uri" codec:"12,omitempty"` AliasName []string `json:"alias-name" codec:"13,omitempty"` // contains filtered or unexported fields }
type TargetType ¶
type TargetType string
const ( MITIGATION_REQUEST_ACL TargetType = "mitigation_request" DATACHANNEL_ACL TargetType = "datachannel_acl" )
type Telemetry ¶
type Telemetry struct { TelemetryConfigurationCurrent *TelemetryConfigurationCurrent `json:"current-config" codec:"175,omitempty"` TotalPipeCapacity []TotalPipeCapacity `json:"total-pipe-capacity" codec:"136,omitempty"` Baseline []Baseline `json:"baseline" codec:"174,omitempty"` // contains filtered or unexported fields }
type TelemetryAttackDetail ¶
type TelemetryAttackDetail struct { VendorId *uint32 `json:"vendor-id" codec:"202,omitempty"` AttackId *uint32 `json:"attack-id" codec:"164,omitempty"` AttackDescription *string `json:"attack-description" codec:"165,omitempty"` AttackSeverity *AttackSeverityString `json:"attack-severity" codec:"166,omitempty"` StartTime *Uint64String `json:"start-time" codec:"167,omitempty"` EndTime *Uint64String `json:"end-time" codec:"168,omitempty"` SourceCount *PercentilePeakAndCurrent `json:"source-count" codec:"169,omitempty"` TopTalKer *TelemetryTopTalker `json:"top-talker" codec:"170,omitempty"` // contains filtered or unexported fields }
func (TelemetryAttackDetail) String ¶
func (ad TelemetryAttackDetail) String(spacesn string) (result string)
Convert TelemetryAttackDetail to String
type TelemetryAttackDetailResponse ¶
type TelemetryAttackDetailResponse struct { VendorId int `json:"vendor-id" codec:"202,omitempty"` AttackId int `json:"attack-id" codec:"164,omitempty"` AttackDescription *string `json:"attack-description" codec:"165,omitempty"` AttackSeverity AttackSeverityString `json:"attack-severity" codec:"166,omitempty"` StartTime *Uint64String `json:"start-time" codec:"167,omitempty"` EndTime *Uint64String `json:"end-time" codec:"168,omitempty"` SourceCount *PercentilePeakAndCurrentResponse `json:"source-count" codec:"169,omitempty"` TopTalKer *TelemetryTopTalkerResponse `json:"top-talker" codec:"170,omitempty"` // contains filtered or unexported fields }
func (TelemetryAttackDetailResponse) String ¶
func (ad TelemetryAttackDetailResponse) String(spacesn string) (result string)
Convert TelemetryAttackDetailResponse to String
type TelemetryConfigurationCurrent ¶
type TelemetryConfigurationCurrent struct { MeasurementInterval *IntervalString `json:"measurement-interval" codec:"182,omitempty"` MeasurementSample *SampleString `json:"measurement-sample" codec:"183,omitempty"` LowPercentile *decimal.Decimal `json:"low-percentile" codec:"130,omitempty"` MidPercentile *decimal.Decimal `json:"mid-percentile" codec:"131,omitempty"` HighPercentile *decimal.Decimal `json:"high-percentile" codec:"132,omitempty"` UnitConfigList []UnitConfig `json:"unit-config" codec:"133,omitempty"` ServerOriginatedTelemetry *bool `json:"server-originated-telemetry" codec:"179,omitempty"` TelemetryNotifyInterval *int `json:"telemetry-notify-interval" codec:"180,omitempty"` // contains filtered or unexported fields }
type TelemetryConfigurationResponse ¶
type TelemetryConfigurationResponse struct { MeasurementInterval IntervalString `json:"measurement-interval" codec:"182,omitempty"` MeasurementSample SampleString `json:"measurement-sample" codec:"183,omitempty"` LowPercentile decimal.Decimal `json:"low-percentile" codec:"130,omitempty"` MidPercentile decimal.Decimal `json:"mid-percentile" codec:"131,omitempty"` HighPercentile decimal.Decimal `json:"high-percentile" codec:"132,omitempty"` UnitConfigList []UnitConfigResponse `json:"unit-config" codec:"133,omitempty"` ServerOriginatedTelemetry *bool `json:"server-originated-telemetry" codec:"179,omitempty"` TelemetryNotifyInterval *int `json:"telemetry-notify-interval" codec:"180,omitempty"` // contains filtered or unexported fields }
func (*TelemetryConfigurationResponse) String ¶
func (tConfig *TelemetryConfigurationResponse) String(spacesn string) (result string)
Convert TelemetryConfigurationResponse to string
type TelemetryPreMitigation ¶
type TelemetryPreMitigation struct { PreOrOngoingMitigation []PreOrOngoingMitigation `json:"pre-or-ongoing-mitigation" codec:"138,omitempty"` // contains filtered or unexported fields }
type TelemetryPreMitigationRequest ¶
type TelemetryPreMitigationRequest struct { TelemetryPreMitigation *TelemetryPreMitigation `json:"ietf-dots-telemetry:telemetry" codec:"208,omitempty"` // CBOR key temp // contains filtered or unexported fields }
func (*TelemetryPreMitigationRequest) String ¶
func (tpm *TelemetryPreMitigationRequest) String() (result string)
* Convert TelemetryPreMitigationRequest to strings
type TelemetryPreMitigationResp ¶
type TelemetryPreMitigationResp struct { PreOrOngoingMitigation []PreOrOngoingMitigationResponse `json:"pre-or-ongoing-mitigation" codec:"138,omitempty"` // contains filtered or unexported fields }
type TelemetryPreMitigationResponse ¶
type TelemetryPreMitigationResponse struct { TelemetryPreMitigation *TelemetryPreMitigationResp `json:"ietf-dots-telemetry:telemetry" codec:"208,omitempty"` // CBOR key temp // contains filtered or unexported fields }
func (*TelemetryPreMitigationResponse) String ¶
func (tpm *TelemetryPreMitigationResponse) String() (result string)
* Convert TelemetryPreMitigationRequest to strings
type TelemetryResponse ¶
type TelemetryResponse struct { Tsid int `json:"tsid" codec:"128,omitempty"` CurrentConfig *TelemetryConfigurationResponse `json:"current-config" codec:"175,omitempty"` TotalPipeCapacity []TotalPipeCapacityResponse `json:"total-pipe-capacity" codec:"136,omitempty"` Baseline []BaselineResponse `json:"baseline" codec:"174,omitempty"` // contains filtered or unexported fields }
type TelemetryResponseConflict ¶
type TelemetryResponseConflict struct { Tsid int `json:"tsid" codec:"128,omitempty"` ConflictInformation *ConflictInformation `json:"conflict-information" codec:"17,omitempty"` // contains filtered or unexported fields }
type TelemetrySetup ¶
type TelemetrySetup struct { Telemetry []Telemetry `json:"telemetry" codec:"129,omitempty"` // contains filtered or unexported fields }
type TelemetrySetupRequest ¶
type TelemetrySetupRequest struct { TelemetrySetup TelemetrySetup `json:"ietf-dots-telemetry:telemetry-setup" codec:"203,omitempty"` // contains filtered or unexported fields }
func (*TelemetrySetupRequest) String ¶
func (ts *TelemetrySetupRequest) String() (result string)
* Convert TelemetrySetupConfigurationRequest to strings
type TelemetrySetupResp ¶
type TelemetrySetupResp struct { MaxConfig *TelemetryConfigurationResponse `json:"max-config-values" codec:"176,omitempty"` MinConfig *TelemetryConfigurationResponse `json:"min-config-values" codec:"177,omitempty"` SupportedUnit *SupportedUnitResponse `json:"supported-unit-classes" codec:"178,omitempty"` QueryType QueryTypeArrayString `json:"supported-query-type" codec:"201,omitempty"` Telemetry []TelemetryResponse `json:"telemetry" codec:"129,omitempty"` // contains filtered or unexported fields }
type TelemetrySetupRespConflict ¶
type TelemetrySetupRespConflict struct { TelemetryResponseConflict []TelemetryResponseConflict `json:"telemetry" codec:"129,omitempty"` // contains filtered or unexported fields }
type TelemetrySetupResponse ¶
type TelemetrySetupResponse struct { TelemetrySetup TelemetrySetupResp `json:"ietf-dots-telemetry:telemetry-setup" codec:"203,omitempty"` // contains filtered or unexported fields }
func (*TelemetrySetupResponse) String ¶
func (ts *TelemetrySetupResponse) String() (result string)
* Convert TelemetrySetupConfigurationResponse to strings
type TelemetrySetupResponseConflict ¶
type TelemetrySetupResponseConflict struct { TelemetrySetupConflict TelemetrySetupRespConflict `json:"ietf-dots-telemetry:telemetry-setup" codec:"203,omitempty"` // contains filtered or unexported fields }
func NewTelemetrySetupConfigurationResponseConflict ¶
func NewTelemetrySetupConfigurationResponseConflict(tsid int, conflictInfo *ConflictInformation) TelemetrySetupResponseConflict
new telemetry setup configuration response conflict
func (*TelemetrySetupResponseConflict) String ¶
func (ts *TelemetrySetupResponseConflict) String() (result string)
Convert TelemetrySetupConfigurationResponseConflict to String
type TelemetryTalker ¶
type TelemetryTalker struct { SpoofedStatus *bool `json:"spoofed-status" codec:"171,omitempty"` SourcePrefix *string `json:"source-prefix" codec:"185,omitempty"` SourcePortRange []PortRange `json:"source-port-range" codec:"187,omitempty"` SourceIcmpTypeRange []ICMPTypeRange `json:"source-icmp-type-range" codec:"188,omitempty"` TotalAttackTraffic []Traffic `json:"total-attack-traffic" codec:"144,omitempty"` TotalAttackConnection *TelemetryTotalAttackConnection `json:"total-attack-connection" codec:"157,omitempty"` // contains filtered or unexported fields }
func (TelemetryTalker) String ¶
func (t TelemetryTalker) String(spacesn string) (result string)
Convert TelemetryTalker to String
type TelemetryTalkerResponse ¶
type TelemetryTalkerResponse struct { SpoofedStatus bool `json:"spoofed-status" codec:"171,omitempty"` SourcePrefix string `json:"source-prefix" codec:"185,omitempty"` SourcePortRange []PortRangeResponse `json:"source-port-range" codec:"187,omitempty"` SourceIcmpTypeRange []ICMPTypeRangeResponse `json:"source-icmp-type-range" codec:"188,omitempty"` TotalAttackTraffic []TrafficResponse `json:"total-attack-traffic" codec:"144,omitempty"` TotalAttackConnection *TelemetryTotalAttackConnectionResponse `json:"total-attack-connection" codec:"157,omitempty"` // contains filtered or unexported fields }
func (TelemetryTalkerResponse) String ¶
func (t TelemetryTalkerResponse) String(spacesn string) (result string)
Convert TelemetryTalkerResponse to String
type TelemetryTopTalker ¶
type TelemetryTopTalker struct { Talker []TelemetryTalker `json:"talker" codec:"184,omitempty"` // contains filtered or unexported fields }
type TelemetryTopTalkerResponse ¶
type TelemetryTopTalkerResponse struct { Talker []TelemetryTalkerResponse `json:"talker" codec:"184,omitempty"` // contains filtered or unexported fields }
type TelemetryTotalAttackConnection ¶
type TelemetryTotalAttackConnection struct { ConnectionC *PercentilePeakAndCurrent `json:"connection-c" codec:"158,omitempty"` EmbryonicC *PercentilePeakAndCurrent `json:"embryonic-c" codec:"159,omitempty"` ConnectionPsC *PercentilePeakAndCurrent `json:"connection-ps-c" codec:"160,omitempty"` RequestPsC *PercentilePeakAndCurrent `json:"request-ps-c" codec:"161,omitempty"` PartialRequestC *PercentilePeakAndCurrent `json:"partial-request-c" codec:"172,omitempty"` // contains filtered or unexported fields }
func (*TelemetryTotalAttackConnection) String ¶
func (tac *TelemetryTotalAttackConnection) String(spacesn string) (result string)
Convert TelemetryTotalAttackConnection to String
type TelemetryTotalAttackConnectionResponse ¶
type TelemetryTotalAttackConnectionResponse struct { ConnectionC *PercentilePeakAndCurrentResponse `json:"connection-c" codec:"158,omitempty"` EmbryonicC *PercentilePeakAndCurrentResponse `json:"embryonic-c" codec:"159,omitempty"` ConnectionPsC *PercentilePeakAndCurrentResponse `json:"connection-ps-c" codec:"160,omitempty"` RequestPsC *PercentilePeakAndCurrentResponse `json:"request-ps-c" codec:"161,omitempty"` PartialRequestC *PercentilePeakAndCurrentResponse `json:"partial-request-c" codec:"172,omitempty"` // contains filtered or unexported fields }
func (*TelemetryTotalAttackConnectionResponse) String ¶
func (tac *TelemetryTotalAttackConnectionResponse) String(spacesn string) (result string)
Convert TelemetryTotalAttackConnectionResponse to String
type TopTalker ¶
type TopTalker struct { Talker []Talker `json:"talker" codec:"184,omitempty"` // contains filtered or unexported fields }
type TopTalkerResponse ¶
type TopTalkerResponse struct { Talker []TalkerResponse `json:"talker" codec:"184,omitempty"` // contains filtered or unexported fields }
type TotalAttackConnectionPort ¶
type TotalAttackConnectionPort struct { Protocol *uint8 `json:"protocol" codec:"191,omitempty"` Port *int `json:"port" codec:"200,omitempty"` ConnectionC *PercentilePeakAndCurrent `json:"connection-c" codec:"158,omitempty"` EmbryonicC *PercentilePeakAndCurrent `json:"embryonic-c" codec:"159,omitempty"` ConnectionPsC *PercentilePeakAndCurrent `json:"connection-ps-c" codec:"160,omitempty"` RequestPsC *PercentilePeakAndCurrent `json:"request-ps-c" codec:"161,omitempty"` PartialRequestC *PercentilePeakAndCurrent `json:"partial-request-c" codec:"172,omitempty"` // contains filtered or unexported fields }
func (*TotalAttackConnectionPort) String ¶
func (tac *TotalAttackConnectionPort) String(spacesn string) (result string)
Convert TotalAttackConnectionPort to String
type TotalAttackConnectionPortResponse ¶
type TotalAttackConnectionPortResponse struct { Protocol uint8 `json:"protocol" codec:"191,omitempty"` Port int `json:"port" codec:"200,omitempty"` ConnectionC *PercentilePeakAndCurrentResponse `json:"connection-c" codec:"158,omitempty"` EmbryonicC *PercentilePeakAndCurrentResponse `json:"embryonic-c" codec:"159,omitempty"` ConnectionPsC *PercentilePeakAndCurrentResponse `json:"connection-ps-c" codec:"160,omitempty"` RequestPsC *PercentilePeakAndCurrentResponse `json:"request-ps-c" codec:"161,omitempty"` PartialRequestC *PercentilePeakAndCurrentResponse `json:"partial-request-c" codec:"172,omitempty"` // contains filtered or unexported fields }
func (*TotalAttackConnectionPortResponse) String ¶
func (tac *TotalAttackConnectionPortResponse) String(spacesn string) (result string)
Convert TotalAttackConnectionPortResponse to String
type TotalAttackConnectionProtocol ¶
type TotalAttackConnectionProtocol struct { Protocol *uint8 `json:"protocol" codec:"191,omitempty"` ConnectionC *PercentilePeakAndCurrent `json:"connection-c" codec:"158,omitempty"` EmbryonicC *PercentilePeakAndCurrent `json:"embryonic-c" codec:"159,omitempty"` ConnectionPsC *PercentilePeakAndCurrent `json:"connection-ps-c" codec:"160,omitempty"` RequestPsC *PercentilePeakAndCurrent `json:"request-ps-c" codec:"161,omitempty"` PartialRequestC *PercentilePeakAndCurrent `json:"partial-request-c" codec:"172,omitempty"` // contains filtered or unexported fields }
func (*TotalAttackConnectionProtocol) String ¶
func (tac *TotalAttackConnectionProtocol) String(spacesn string) (result string)
Convert TotalAttackConnectionProtocol to String
type TotalAttackConnectionProtocolResponse ¶
type TotalAttackConnectionProtocolResponse struct { Protocol uint8 `json:"protocol" codec:"191,omitempty"` ConnectionC *PercentilePeakAndCurrentResponse `json:"connection-c" codec:"158,omitempty"` EmbryonicC *PercentilePeakAndCurrentResponse `json:"embryonic-c" codec:"159,omitempty"` ConnectionPsC *PercentilePeakAndCurrentResponse `json:"connection-ps-c" codec:"160,omitempty"` RequestPsC *PercentilePeakAndCurrentResponse `json:"request-ps-c" codec:"161,omitempty"` PartialRequestC *PercentilePeakAndCurrentResponse `json:"partial-request-c" codec:"172,omitempty"` // contains filtered or unexported fields }
func (*TotalAttackConnectionProtocolResponse) String ¶
func (tac *TotalAttackConnectionProtocolResponse) String(spacesn string) (result string)
Convert TotalAttackConnectionProtocolResponse to String
type TotalConnectionCapacity ¶
type TotalConnectionCapacity struct { Protocol *uint8 `json:"protocol" codec:"191,omitempty"` Connection *Uint64String `json:"connection" codec:"147,omitempty"` ConnectionClient *Uint64String `json:"connection-client" codec:"148,omitempty"` Embryonic *Uint64String `json:"embryonic" codec:"149,omitempty"` EmbryonicClient *Uint64String `json:"embryonic-client" codec:"150,omitempty"` ConnectionPs *Uint64String `json:"connection-ps" codec:"151,omitempty"` ConnectionClientPs *Uint64String `json:"connection-client-ps" codec:"152,omitempty"` RequestPs *Uint64String `json:"request-ps" codec:"153,omitempty"` RequestClientPs *Uint64String `json:"request-client-ps" codec:"154,omitempty"` PartialRequestMax *Uint64String `json:"partial-request-max" codec:"155,omitempty"` PartialRequestClientMax *Uint64String `json:"partial-request-client-max" codec:"156,omitempty"` // contains filtered or unexported fields }
func (TotalConnectionCapacity) String ¶
func (tcc TotalConnectionCapacity) String(spacesn string) (result string)
Convert TotalConnectionCapacity to string
type TotalConnectionCapacityPerPort ¶
type TotalConnectionCapacityPerPort struct { Protocol *uint8 `json:"protocol" codec:"191,omitempty"` Port *int `json:"port" codec:"200,omitempty"` Connection *Uint64String `json:"connection" codec:"147,omitempty"` ConnectionClient *Uint64String `json:"connection-client" codec:"148,omitempty"` Embryonic *Uint64String `json:"embryonic" codec:"149,omitempty"` EmbryonicClient *Uint64String `json:"embryonic-client" codec:"150,omitempty"` ConnectionPs *Uint64String `json:"connection-ps" codec:"151,omitempty"` ConnectionClientPs *Uint64String `json:"connection-client-ps" codec:"152,omitempty"` RequestPs *Uint64String `json:"request-ps" codec:"153,omitempty"` RequestClientPs *Uint64String `json:"request-client-ps" codec:"154,omitempty"` PartialRequestMax *Uint64String `json:"partial-request-max" codec:"155,omitempty"` PartialRequestClientMax *Uint64String `json:"partial-request-client-max" codec:"156,omitempty"` // contains filtered or unexported fields }
func (TotalConnectionCapacityPerPort) String ¶
func (tcc TotalConnectionCapacityPerPort) String(spacesn string) (result string)
Convert TotalConnectionCapacityPerPort to string
type TotalConnectionCapacityPerPortResponse ¶
type TotalConnectionCapacityPerPortResponse struct { Protocol int `json:"protocol" codec:"191,omitempty"` Port int `json:"port" codec:"200,omitempty"` Connection *Uint64String `json:"connection" codec:"147,omitempty"` ConnectionClient *Uint64String `json:"connection-client" codec:"148,omitempty"` Embryonic *Uint64String `json:"embryonic" codec:"149,omitempty"` EmbryonicClient *Uint64String `json:"embryonic-client" codec:"150,omitempty"` ConnectionPs *Uint64String `json:"connection-ps" codec:"151,omitempty"` ConnectionClientPs *Uint64String `json:"connection-client-ps" codec:"152,omitempty"` RequestPs *Uint64String `json:"request-ps" codec:"153,omitempty"` RequestClientPs *Uint64String `json:"request-client-ps" codec:"154,omitempty"` PartialRequestMax *Uint64String `json:"partial-request-max" codec:"155,omitempty"` PartialRequestClientMax *Uint64String `json:"partial-request-client-max" codec:"156,omitempty"` // contains filtered or unexported fields }
func (TotalConnectionCapacityPerPortResponse) String ¶
func (tcc TotalConnectionCapacityPerPortResponse) String(spacesn string) (result string)
Convert TotalConnectionCapacityPerPortResponse to String
type TotalConnectionCapacityResponse ¶
type TotalConnectionCapacityResponse struct { Protocol int `json:"protocol" codec:"191,omitempty"` Connection *Uint64String `json:"connection" codec:"147,omitempty"` ConnectionClient *Uint64String `json:"connection-client" codec:"148,omitempty"` Embryonic *Uint64String `json:"embryonic" codec:"149,omitempty"` EmbryonicClient *Uint64String `json:"embryonic-client" codec:"150,omitempty"` ConnectionPs *Uint64String `json:"connection-ps" codec:"151,omitempty"` ConnectionClientPs *Uint64String `json:"connection-client-ps" codec:"152,omitempty"` RequestPs *Uint64String `json:"request-ps" codec:"153,omitempty"` RequestClientPs *Uint64String `json:"request-client-ps" codec:"154,omitempty"` PartialRequestMax *Uint64String `json:"partial-request-max" codec:"155,omitempty"` PartialRequestClientMax *Uint64String `json:"partial-request-client-max" codec:"156,omitempty"` // contains filtered or unexported fields }
func (TotalConnectionCapacityResponse) String ¶
func (tcc TotalConnectionCapacityResponse) String(spacesn string) (result string)
Convert TotalConnectionCapacityResponse to String
type TotalPipeCapacity ¶
type TotalPipeCapacity struct { LinkId *string `json:"link-id" codec:"137,omitempty"` Capacity *Uint64String `json:"capacity" codec:"190,omitempty"` Unit *UnitString `json:"unit" codec:"134,omitempty"` // contains filtered or unexported fields }
type TotalPipeCapacityResponse ¶
type TotalPipeCapacityResponse struct { LinkId string `json:"link-id" codec:"137,omitempty"` Capacity Uint64String `json:"capacity" codec:"190,omitempty"` Unit UnitString `json:"unit" codec:"134,omitempty"` // contains filtered or unexported fields }
type Traffic ¶
type Traffic struct { Unit *UnitString `json:"unit" codec:"134,omitempty"` LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
type TrafficPerPort ¶
type TrafficPerPort struct { Unit *UnitString `json:"unit" codec:"134,omitempty"` Port *int `json:"port" codec:"200,omitempty"` LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (TrafficPerPort) String ¶
func (traffic TrafficPerPort) String(spacesn string) (result string)
Convert TrafficPerPort to string
type TrafficPerPortResponse ¶
type TrafficPerPortResponse struct { Unit UnitString `json:"unit" codec:"134,omitempty"` Port int `json:"port" codec:"200,omitempty"` LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (TrafficPerPortResponse) String ¶
func (traffic TrafficPerPortResponse) String(spacesn string) (result string)
Convert TrafficPerPortResponse to String
type TrafficPerProtocol ¶
type TrafficPerProtocol struct { Unit *UnitString `json:"unit" codec:"134,omitempty"` Protocol *uint8 `json:"protocol" codec:"191,omitempty"` LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (TrafficPerProtocol) String ¶
func (traffic TrafficPerProtocol) String(spacesn string) (result string)
Convert TrafficPerProtocol to string
type TrafficPerProtocolResponse ¶
type TrafficPerProtocolResponse struct { Unit UnitString `json:"unit" codec:"134,omitempty"` Protocol int `json:"protocol" codec:"191,omitempty"` LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (TrafficPerProtocolResponse) String ¶
func (traffic TrafficPerProtocolResponse) String(spacesn string) (result string)
Convert TrafficPerProtocolResponse to String
type TrafficResponse ¶
type TrafficResponse struct { Unit UnitString `json:"unit" codec:"134,omitempty"` LowPercentileG *Uint64String `json:"low-percentile-g" codec:"140,omitempty"` MidPercentileG *Uint64String `json:"mid-percentile-g" codec:"141,omitempty"` HighPercentileG *Uint64String `json:"high-percentile-g" codec:"142,omitempty"` PeakG *Uint64String `json:"peak-g" codec:"143,omitempty"` CurrentG *Uint64String `json:"current-g" codec:"209,omitempty"` // contains filtered or unexported fields }
func (TrafficResponse) String ¶
func (traffic TrafficResponse) String(spacesn string) (result string)
Convert TrafficResponse to String
type Uint64String ¶
type Uint64String uint64
Uint64String to convert value from string (json) to uint64 (cbor)
and to convert value from uint64 (cbor) to string (json)
func (Uint64String) MarshalJSON ¶
func (u Uint64String) MarshalJSON() ([]byte, error)
func (*Uint64String) UnmarshalJSON ¶
func (u *Uint64String) UnmarshalJSON(data []byte) error
type Unit ¶
type Unit string
const ( PACKETS_PER_SECOND Unit = "packet-ps" BITS_PER_SECOND Unit = "bit-ps" BYTES_PER_SECOND Unit = "byte-ps" KILOPACKETS_PER_SECOND Unit = "kilopacket-ps" KILOBITS_PER_SECOND Unit = "kilobit-ps" KILOBYTES_PER_SECOND Unit = "kilobyte-ps" MEGAPACKETS_PER_SECOND Unit = "megapacket-ps" MEGABITS_PER_SECOND Unit = "megabit-ps" MEGABYTES_PER_SECOND Unit = "megabyte-ps" GIGAPACKETS_PER_SECOND Unit = "gigapacket-ps" GIGABITS_PER_SECOND Unit = "gigabit-ps" GIGABYTES_PER_SECOND Unit = "gigabyte-ps" TERAPACKETS_PER_SECOND Unit = "terapacket-ps" TERABITS_PER_SECOND Unit = "terabit-ps" TERABYTES_PER_SECOND Unit = "terabyte-ps" PETAPACKETS_PER_SECOND Unit = "petapacket-ps" PETABITS_PER_SECOND Unit = "petabit-ps" PETABYTES_PER_SECOND Unit = "petabyte-ps" EXAPACKETS_PER_SECOND Unit = "exapacket-ps" EXABITS_PER_SECOND Unit = "exabit-ps" EXABYTES_PER_SECOND Unit = "exabyte-ps" ZETTAPACKETS_PER_SECOND Unit = "zettapacket-ps" ZETTABITS_PER_SECOND Unit = "zettabit-ps" ZETTABYTES_PER_SECOND Unit = "zettabyte-ps" )
type UnitConfig ¶
type UnitConfig struct { Unit *UnitString `json:"unit" codec:"134,omitempty"` UnitStatus *bool `json:"unit-status" codec:"135,omitempty"` // contains filtered or unexported fields }
type UnitConfigResponse ¶
type UnitConfigResponse struct { Unit UnitString `json:"unit" codec:"134,omitempty"` UnitStatus bool `json:"unit-status" codec:"135,omitempty"` // contains filtered or unexported fields }
type UnitString ¶
type UnitString int
UnitString to convert value from string (json) to int (cbor)
and to convert value from int (cbor) to string (json)
const ( PacketsPerSecond UnitString = iota + 1 BitsPerSecond BytesPerSecond KiloPacketsPerSecond KiloBitsPerSecond KiloBytesPerSecond MegaPacketsPerSecond MegaBitsPerSecond MegaBytesPerSecond GigaPacketsPerSecond GigaBitsPerSecond GigaBytesPerSecond TeraPacketsPerSecond TeraBitsPerSecond TeraBytesPerSecond PetaPacketsPerSecond PetaBitsPerSecond PetaBytesPerSecond ExaPacketsPerSecond ExaBitsPerSecond ExaBytesPerSecond ZettaPacketsPerSecond ZettaBitsPerSecond ZettaBytesPerSecond )
func ConvertUnitToInt ¶
func ConvertUnitToInt(unit string) (unitInt UnitString)
Convert sample from string to int
func (UnitString) MarshalJSON ¶
func (u UnitString) MarshalJSON() ([]byte, error)
func (*UnitString) UnmarshalJSON ¶
func (u *UnitString) UnmarshalJSON(data []byte) error