func newFlowEntry(req ofp4.FlowMod) (*flowEntry, error) { reqMatch := match{} if err := reqMatch.UnmarshalBinary(req.Match().OxmFields()); err != nil { return nil, err } entry := &flowEntry{ lock: &sync.RWMutex{}, fields: reqMatch, cookie: req.Cookie(), created: time.Now(), idleTimeout: req.IdleTimeout(), hardTimeout: req.HardTimeout(), instWrite: makeActionSet(), instExp: make(map[int][]instExperimenter), } if err := entry.importInstructions(req.Instructions()); err != nil { return nil, err } return entry, nil }