def _unpack_actions(raw):
    '''
    deserialize 1 or more actions; return a list of
    Action* objects
    '''
    actions = []

    while len(raw) > 0:
        atype, alen = struct.unpack('!HH', raw[:4])
        atype = OpenflowActionType(atype)
        action = _ActionClassMap.get(atype)()
        action.from_bytes(raw[:alen])
        raw = raw[alen:]
        actions.append(action)
    return actions