summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kraft <george.kraft@calxeda.com>2013-07-17 17:54:52 -0500
committerGeorge Kraft <george.kraft@calxeda.com>2013-07-22 14:57:08 -0500
commit2cb07f2deb00d43b13e81e701fcb721310babc58 (patch)
tree4c8c099f2b28e8e286edaab413e2c253e0664b4f
parentd58d0991fec92c5395ab10f5de6739b113c46216 (diff)
downloadpyipmi-2cb07f2deb00d43b13e81e701fcb721310babc58.tar.gz
SW-2207: Add bindings for macaddr_base and macaddr_mask commands
-rw-r--r--pyipmi/bmc.py12
-rw-r--r--pyipmi/commands/fabric_config.py43
2 files changed, 54 insertions, 1 deletions
diff --git a/pyipmi/bmc.py b/pyipmi/bmc.py
index cda3c9b..a928415 100644
--- a/pyipmi/bmc.py
+++ b/pyipmi/bmc.py
@@ -492,6 +492,18 @@ class BMC(object):
def fabric_config_set_link_users_factor(self, lu_factor):
return self.handle.fabric_config_setlinkusersfactor(lu_factor=lu_factor)
+ def fabric_config_set_macaddr_base(self, macaddr):
+ return self.handle.fabric_config_set_macaddr_base(macaddr=macaddr)
+
+ def fabric_config_get_macaddr_base(self):
+ return self.handle.fabric_config_get_macaddr_base()
+
+ def fabric_config_set_macaddr_mask(self, mask):
+ return self.handle.fabric_config_set_macaddr_mask(mask=mask)
+
+ def fabric_config_get_macaddr_mask(self):
+ return self.handle.fabric_config_get_macaddr_mask()
+
def set_bootdev(self, device, options=None):
return self.handle.bootdev_set(device=device, options=options)
diff --git a/pyipmi/commands/fabric_config.py b/pyipmi/commands/fabric_config.py
index fe6b92f..4e68adb 100644
--- a/pyipmi/commands/fabric_config.py
+++ b/pyipmi/commands/fabric_config.py
@@ -268,6 +268,43 @@ class SetLinkUsersFactorCommand(Command, ResponseParserMixIn):
return ['cxoem', 'fabric', 'config', 'set', 'lu_factor',
self._params['lu_factor']]
+class SetMACAddressBaseCommand(Command, ResponseParserMixIn):
+ name = "Set the base MAC address for a custom range"
+
+ @property
+ def ipmitool_args(self):
+ return ['cxoem', 'fabric', 'config', 'set', 'macaddr_base',
+ self._params['macaddr']]
+
+class GetMACAddressBaseCommand(Command, ResponseParserMixIn):
+ name = "Get the base MAC address for a custom range"
+ result_type = str
+ ipmitool_args = ['cxoem', 'fabric', 'config', 'get', 'macaddr_base']
+
+ def parse_response(self, out, err):
+ if err:
+ raise IpmiError(err)
+ return out.strip()
+
+class SetMACAddressMaskCommand(Command, ResponseParserMixIn):
+ name = "Set the MAC address mask for a custom range"
+
+ @property
+ def ipmitool_args(self):
+ return ['cxoem', 'fabric', 'config', 'set', 'macaddr_mask',
+ self._params['mask']]
+
+class GetMACAddressMaskCommand(Command, ResponseParserMixIn):
+ name = "Get the MAC address mask for a custom range"
+ result_type = str
+ ipmitool_args = ['cxoem', 'fabric', 'config', 'get', 'macaddr_mask']
+
+ def parse_response(self, out, err):
+ if err:
+ raise IpmiError(err)
+ return out.strip()
+
+
fabric_config_commands = {
"fabric_config_getipinfo" : GetIPInfoCommand,
"fabric_config_getmacaddresses" : GetMACAddressesCommand,
@@ -284,5 +321,9 @@ fabric_config_commands = {
"fabric_config_getuplink" : GetUplinkCommand,
"fabric_config_setuplink" : SetUplinkCommand,
"fabric_config_getlinkusersfactor" : GetLinkUsersFactorCommand,
- "fabric_config_setlinkusersfactor" : SetLinkUsersFactorCommand
+ "fabric_config_setlinkusersfactor" : SetLinkUsersFactorCommand,
+ "fabric_config_set_macaddr_base" : SetMACAddressBaseCommand,
+ "fabric_config_get_macaddr_base" : GetMACAddressBaseCommand,
+ "fabric_config_set_macaddr_mask" : SetMACAddressMaskCommand,
+ "fabric_config_get_macaddr_mask" : GetMACAddressMaskCommand
}