控制器与交换机之间的通道建立与初始设置
- 由交换机对控制器建立TCP连接或者TLS连接
- 协商版本
- 发送Hello消息
- 握手:发送Features请求信息、Feature响应
- 交换其他信息
OpenFlow头的go语言实现:
type Header struct {
Version uint8 //1.0:0x01 1.1:0x02 1.2:0x03
Type uint8 //消息类型
Length uint16 //该头中的八位字节数
Xid uint32 //分配的事物id,用于响应的匹配
}
消息类型的go语言实现
const (
// Identifiers from group ofp_type
OFPTHello = 0 // OFPT_HELLO
OFPTError = 1 // OFPT_ERROR
OFPTEchoRequest = 2 // OFPT_ECHO_REQUEST
OFPTEchoReply = 3 // OFPT_ECHO_REPLY
OFPTExperimenter = 4 // OFPT_EXPERIMENTER
OFPTFeaturesRequest