Documentation ¶
Overview ¶
* Copyright 2019-present Ciena Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
* Copyright 2019-present Ciena Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
* Copyright 2019-present Ciena Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
* Copyright 2019-present Ciena Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
Index ¶
- Variables
- func GetEnumString(msg *dynamic.Message, name string, value int32) (string, error)
- func GetEnumValue(val *dynamic.Message, name string) (string, error)
- func SetEnumValue(msg *dynamic.Message, name string, value string) error
- type ComponentInstance
- type Flow
- type FlowFieldFlag
- type LogLevel
Constants ¶
This section is empty.
Variables ¶
var ( // Provide an array of all flags that can be used for iteration AllFlowFieldFlags = []FlowFieldFlag{ FLOW_FIELD_UNSUPPORTED_MATCH, FLOW_FIELD_UNSUPPORTED_INSTRUCTION, FLOW_FIELD_UNSUPPORTED_ACTION, FLOW_FIELD_UNSUPPORTED_SET_FIELD, FLOW_FIELD_ID, FLOW_FIELD_TABLE_ID, FLOW_FIELD_DURATION_SEC, FLOW_FIELD_DURATION_NSEC, FLOW_FIELD_IDLE_TIMEOUT, FLOW_FIELD_HARD_TIMEOUT, FLOW_FIELD_PACKET_COUNT, FLOW_FIELD_BYTE_COUNT, FLOW_FIELD_PRIORITY, FLOW_FIELD_COOKIE, FLOW_FIELD_IN_PORT, FLOW_FIELD_ETH_TYPE, FLOW_FIELD_VLAN_ID, FLOW_FIELD_IP_PROTO, FLOW_FIELD_UDP_SRC, FLOW_FIELD_UDP_DST, FLOW_FIELD_METADATA, FLOW_FIELD_SET_VLAN_ID, FLOW_FIELD_POP_VLAN, FLOW_FIELD_PUSH_VLAN_ID, FLOW_FIELD_OUTPUT, FLOW_FIELD_GOTO_TABLE, FLOW_FIELD_WRITE_METADATA, FLOW_FIELD_CLEAR_ACTIONS, FLOW_FIELD_METER, FLOW_FIELD_TUNNEL_ID, FLOW_FIELD_VLAN_PCP, } )
Functions ¶
func GetEnumString ¶ added in v1.0.3
Types ¶
type ComponentInstance ¶
type ComponentInstance struct { Id string `json:"id"` Namespace string `json:"namespace"` Name string `json:"name"` Ready string `json:"ready"` Status string `json:"status"` Restarts int `json:"restarts"` Component string `json:"component"` Version string `json:"version"` StartTime string `json:"starttime"` Age string `json:"age"` }
func (*ComponentInstance) PopulateFrom ¶
func (c *ComponentInstance) PopulateFrom(val corev1.Pod)
type Flow ¶
type Flow struct { Id string `json:"id"` TableId uint32 `json:"tableid"` DurationSec uint32 `json:"durationsec"` DurationNsec uint32 `json:"durationnsec"` IdleTimeout uint32 `json:"idletimeout"` HardTimeout uint32 `json:"hardtimeout"` PacketCount uint64 `json:"packetcount"` ByteCount uint64 `json:"bytecount"` Priority uint32 `json:"priority"` Cookie string `json:"cookie"` UnsupportedMatch string `json:"unsupportedmatch,omitempty"` InPort string `json:"inport,omitempty"` EthType string `json:"ethtype,omitempty"` VlanId string `json:"vlanid,omitempty"` IpProto string `json:"ipproto,omitempty"` UdpSrc string `json:"udpsrc,omitempty"` UdpDst string `json:"dstsrc,omitempty"` Metadata string `json:"metadata,omitempty"` UnsupportedInstruction string `json:"unsupportedinstruction,omitempty"` UnsupportedAction string `json:"unsupportedaction,omitempty"` UnsupportedSetField string `json:"unsupportedsetfield,omitempty"` SetVlanId string `json:"setvlanid,omitempty"` PopVlan string `json:"popvlan,omitempty"` PushVlanId string `json:"pushvlanid,omitempty"` Output string `json:"output,omitempty"` GotoTable string `json:"gototable,omitempty"` WriteMetadata string `json:"writemetadata,omitempty"` ClearActions string `json:"clear,omitempty"` MeterId string `json:"meter,omitempty"` TunnelId string `json:"tunnelid,omitempty"` VlanPcp string `json:"vlanpcp,omitempty"` // contains filtered or unexported fields }
* This is a partial list of OF match/action values. This list will be * expanded as new fields are needed within VOLTHA * * Strings are used in the output structure so that on output the table * can be "sparsely" populated with "empty" cells as opposed to 0 (zeros) * all over the place.
func (*Flow) Clear ¶
func (f *Flow) Clear(flag FlowFieldFlag)
func (*Flow) IsSet ¶
func (f *Flow) IsSet(flag FlowFieldFlag) bool
func (*Flow) PopulateFromProto ¶ added in v1.1.4
func (f *Flow) PopulateFromProto(flow *openflow_13.OfpFlowStats)
func (*Flow) Populated ¶
func (f *Flow) Populated() FlowFieldFlag
func (*Flow) Set ¶
func (f *Flow) Set(flag FlowFieldFlag)
type FlowFieldFlag ¶
type FlowFieldFlag uint64
const ( // Define bit flags for flow fields to determine what is set and // what is not FLOW_FIELD_UNSUPPORTED_MATCH FlowFieldFlag = 1 << iota FLOW_FIELD_UNSUPPORTED_INSTRUCTION FLOW_FIELD_UNSUPPORTED_ACTION FLOW_FIELD_UNSUPPORTED_SET_FIELD FLOW_FIELD_ID FLOW_FIELD_TABLE_ID FLOW_FIELD_DURATION_SEC FLOW_FIELD_DURATION_NSEC FLOW_FIELD_IDLE_TIMEOUT FLOW_FIELD_HARD_TIMEOUT FLOW_FIELD_PACKET_COUNT FLOW_FIELD_BYTE_COUNT FLOW_FIELD_PRIORITY FLOW_FIELD_COOKIE FLOW_FIELD_IN_PORT FLOW_FIELD_ETH_TYPE FLOW_FIELD_VLAN_ID FLOW_FIELD_IP_PROTO FLOW_FIELD_UDP_SRC FLOW_FIELD_UDP_DST FLOW_FIELD_METADATA FLOW_FIELD_SET_VLAN_ID FLOW_FIELD_POP_VLAN FLOW_FIELD_PUSH_VLAN_ID FLOW_FIELD_OUTPUT FLOW_FIELD_GOTO_TABLE FLOW_FIELD_WRITE_METADATA FLOW_FIELD_CLEAR_ACTIONS FLOW_FIELD_METER FLOW_FIELD_TUNNEL_ID FLOW_FIELD_VLAN_PCP FLOW_FIELD_HEADER = FLOW_FIELD_ID | FLOW_FIELD_TABLE_ID | FLOW_FIELD_PRIORITY | FLOW_FIELD_COOKIE FLOW_FIELD_STATS = FLOW_FIELD_DURATION_SEC | FLOW_FIELD_DURATION_NSEC | FLOW_FIELD_IDLE_TIMEOUT | FLOW_FIELD_HARD_TIMEOUT | FLOW_FIELD_PACKET_COUNT | FLOW_FIELD_BYTE_COUNT //ReservedVlan Transparent Vlan (Masked Vlan, VLAN_ANY in ONOS Flows) ReservedTransparentVlan = 4096 )
func (*FlowFieldFlag) Clear ¶
func (f *FlowFieldFlag) Clear(flag FlowFieldFlag)
func (*FlowFieldFlag) Count ¶
func (f *FlowFieldFlag) Count() int
func (*FlowFieldFlag) IsSet ¶
func (f *FlowFieldFlag) IsSet(flag FlowFieldFlag) bool
func (*FlowFieldFlag) Reset ¶
func (f *FlowFieldFlag) Reset()
func (*FlowFieldFlag) Set ¶
func (f *FlowFieldFlag) Set(flag FlowFieldFlag)
func (FlowFieldFlag) String ¶
func (f FlowFieldFlag) String() string