示例#1
0
文件: client.go 项目: nplanel/skydive
func (c *Client) SendFlow(f *flow.Flow) error {
	data, err := f.GetData()
	if err != nil {
		return err
	}

	c.connection.Write(data)

	return nil
}
示例#2
0
文件: ovs.go 项目: nplanel/skydive
func (gfe *OvsFlowEnhancer) Enhance(f *flow.Flow) {
	if f.ANodeUUID == "" || f.BNodeUUID == "" {
		if f.Link == nil {
			return
		}
	}
	if f.ANodeUUID == "" {
		f.ANodeUUID = gfe.getNodeUUID(f.Link.A)
	}
	if f.BNodeUUID == "" {
		f.BNodeUUID = gfe.getNodeUUID(f.Link.B)
	}
}
示例#3
0
func (c *Client) SendFlow(f *flow.Flow) error {
	data, err := f.GetData()
	if err != nil {
		return err
	}

retry:
	_, err = c.connection.Write(data)
	if err != nil {
		logging.GetLogger().Errorf("flows connection to analyzer error %s : try to reconnect" + err.Error())
		c.connection.Close()
		c.connect()
		goto retry
	}

	return nil
}
示例#4
0
func (p *OvsSFlowProbe) SetProbeNode(flow *flow.Flow) bool {
	flow.NodeUUID = p.NodeUUID
	return true
}
示例#5
0
func (p *GoPacketProbe) SetProbeNode(flow *flow.Flow) bool {
	flow.NodeUUID = p.NodeUUID
	return true
}