diff --git a/pyipmi/interfaces/aardvark.py b/pyipmi/interfaces/aardvark.py index 26c9a3f1..f68895c0 100644 --- a/pyipmi/interfaces/aardvark.py +++ b/pyipmi/interfaces/aardvark.py @@ -199,7 +199,7 @@ def send_and_receive(self, req): netfn=req.netfn, cmdid=req.cmdid, payload=encode_message(req)) - rsp = create_message(req.cmdid, req.netfn + 1) + rsp = create_message(req.netfn + 1, req.cmdid) decode_message(rsp, rx_data) log().debug('IPMI Response [%s])', rsp) diff --git a/pyipmi/interfaces/ipmb.py b/pyipmi/interfaces/ipmb.py index 5cac6215..2df8b02d 100644 --- a/pyipmi/interfaces/ipmb.py +++ b/pyipmi/interfaces/ipmb.py @@ -167,8 +167,8 @@ def decode_bridged_message(rx_data): """ while array('B', rx_data)[5] == constants.CMDID_SEND_MESSAGE: - rsp = create_message(constants.CMDID_SEND_MESSAGE, - constants.NETFN_APP+1) + rsp = create_message(constants.NETFN_APP + 1, + constants.CMDID_SEND_MESSAGE) decode_message(rsp, rx_data[6:]) check_completion_code(rsp.completion_code) rx_data = rx_data[7:-1] diff --git a/pyipmi/interfaces/ipmitool.py b/pyipmi/interfaces/ipmitool.py index 01c420b0..4556cede 100644 --- a/pyipmi/interfaces/ipmitool.py +++ b/pyipmi/interfaces/ipmitool.py @@ -144,7 +144,7 @@ def send_and_receive(self, req): rsp_data = self.send_and_receive_raw(req.target, req.lun, req.netfn, req_data.tostring()) - rsp = create_message(req.cmdid, req.netfn + 1) + rsp = create_message(req.netfn + 1, req.cmdid) decode_message(rsp, rsp_data) log().debug('IPMI Response [%s])', rsp) diff --git a/pyipmi/interfaces/rmcp.py b/pyipmi/interfaces/rmcp.py index d4c4cfa7..8e772efa 100644 --- a/pyipmi/interfaces/rmcp.py +++ b/pyipmi/interfaces/rmcp.py @@ -567,6 +567,6 @@ def send_and_receive(self, req): netfn=req.netfn, cmdid=req.cmdid, payload=encode_message(req)) - rsp = create_message(req.cmdid, req.netfn + 1) + rsp = create_message(req.netfn + 1, req.cmdid) decode_message(rsp, rx_data) return rsp diff --git a/pyipmi/msgs/registry.py b/pyipmi/msgs/registry.py index 98b51f2a..dbc2c4f6 100644 --- a/pyipmi/msgs/registry.py +++ b/pyipmi/msgs/registry.py @@ -29,7 +29,7 @@ def register_class(self, cls): if cls.__name__[-3:] not in ('Req', 'Rsp'): raise DescriptionError('Class name has to end in Req or Rsp') # (2) mandantory fields - for attr in ('__cmdid__', '__netfn__', '__default_lun__'): + for attr in ('__netfn__', '__cmdid__', '__default_lun__'): if not hasattr(cls, attr): raise DescriptionError('Class has to have attribute "%s"' % attr) @@ -44,7 +44,7 @@ def register_class(self, cls): if cls.__name__ in self.registry: raise DescriptionError('Message %s already registered' % cls.__name__) - msg_id = (cls.__cmdid__, cls.__netfn__) + msg_id = (cls.__netfn__, cls.__cmdid__) if msg_id in self.registry: raise DescriptionError('Message (%d,%d) already registered (%s)' % (msg_id[0], msg_id[1], @@ -53,7 +53,7 @@ def register_class(self, cls): # register name self.registry[cls.__name__] = cls # register (netfn, cmdid) tuple - self.registry[(cls.__cmdid__, cls.__netfn__)] = cls + self.registry[(cls.__netfn__, cls.__cmdid__)] = cls # register return cls