-
Notifications
You must be signed in to change notification settings - Fork 7
CommonTopology
AndreKutzleb edited this page Nov 9, 2015
·
7 revisions
This protobuffer definition contains data types shared by multiple modules handling topology related tasks.
Simple representation of a specific port of a specific switch. switch_dpid = datapathID = switchID = instanceID of a switchAdapter.
message AttachmentPoint{
required uint64 switch_dpid = 1;
required uint32 switch_port = 2;
}Optional additional information about a SwitchPort.
message PortSpecs {
optional uint64 MAC_address = 1; /* mac address of port */
optional string port_name = 2; /* Name of port */
optional uint32 config = 3; /* Bitmap of OFPPC_* flags. */
optional uint32 state = 4; /* Bitmap of OFPPS_* flags. */
optional uint32 curr = 5; /* Current features. */
optional uint32 advertised = 6; /* Features being advertised by the port. */
optional uint32 supported = 7; /* Features supported by the port. */
optional uint32 peer = 8; /* Features advertised by peer. */
optional uint32 curr_speed = 9; /* Current port bitrate in kbps. */
optional uint32 max_speed = 10; /* Max port bitrate in kbps */
}Anything discovered in the network that has a mac_address and is NOT an OpenFlow switch.
message Device {
required uint64 MAC_address = 1;
repeated uint32 IPv4_address = 2;
repeated bytes IPv6_address = 3; // 16 bytes per address
required uint64 millis_since_last_seen = 4;
required AttachmentPoint attachment_point = 5;
repeated AttachmentPoint additional_attachment_points = 6;
}A more advanced representation of a specific port of a specific switch. This is an AttachmentPoint + optionally additional information about that specific port.
message SwitchPort {
required AttachmentPoint attachment_point = 1;
optional PortSpecs port_specs = 2;
}Simple representation of a directed link between two Attachment points: A link from (source.switch_dpid,source.switch_port) ----> (target.switch_dpid, target.switch_port)
message SwitchToSwitchLink {
required AttachmentPoint source = 1;
required AttachmentPoint target = 2;
}Additional information about the switch
message SwitchSpecs {
optional uint32 n_buffers = 1; /* Max packets buffered at once. */
optional uint32 n_tables = 2; /* Number of tables supported by datapath.(8 bit) */
optional uint32 auxiliary_id = 3; /* Identify auxiliary connections (8 bit)*/
/* Features. */
optional uint32 capabilities = 4; /* Bitmap of support "ofp_capabilities". */
optional uint32 reserved = 5;
}message Switch {
required uint64 switch_dpid = 1;
required uint32 openflow_version = 2; // 8bit Value OFP_VERSION
repeated SwitchPort switch_ports = 3;
optional SwitchSpecs switch_specs = 4;
}message Topology {
repeated Switch switches = 1;
repeated SwitchToSwitchLink switch_to_switch_links = 2;
}