PERFORCE change 1202588 for review
John-Mark Gurney
jmg at FreeBSD.org
Fri Nov 7 00:50:53 UTC 2014
http://p4web.freebsd.org/@@1202588?ac=10
Change 1202588 by jmg at jmg_carbon2 on 2014/11/07 00:50:03
add support for fetching the name of a crid... Add a small little
test program that dumps the names of all the crypto devices in the
system...
Sponsored by: FreeBSD Foundation
Sponsored by: Netgate
Affected files ...
.. //depot/projects/opencrypto/tests/sys/opencrypto/cryptodev.py#3 edit
Differences ...
==== //depot/projects/opencrypto/tests/sys/opencrypto/cryptodev.py#3 (text+ko) ====
@@ -94,17 +94,30 @@
_cryptodev = _getdev()
+def _findop(crid, name):
+ fop = FindOp()
+ fop.crid = crid
+ fop.name = name
+ s = array.array('B', fop.pack_hdr())
+ ioctl(_cryptodev, CIOCFINDDEV, s, 1)
+ fop.unpack(s)
+
+ try:
+ idx = fop.name.index('\x00')
+ name = fop.name[:idx]
+ except ValueError:
+ name = fop.name
+
+ return fop.crid, name
+
class Crypto:
@staticmethod
def findcrid(name):
- fop = FindOp()
- fop.crid = -1
- fop.name = name
- s = array.array('B', fop.pack_hdr())
- ioctl(_cryptodev, CIOCFINDDEV, s, 1)
- fop.unpack(s)
+ return _findop(-1, name)[0]
- return fop.crid
+ @staticmethod
+ def getcridname(crid):
+ return _findop(crid, '')[1]
def __init__(self, cipher=0, key=None, mac=0, mackey=None,
crid=CRYPTOCAP_F_SOFTWARE | CRYPTOCAP_F_HARDWARE):
@@ -346,8 +359,18 @@
if __name__ == '__main__':
if True:
- print Crypto.findcrid('aesni0')
+ try:
+ crid = Crypto.findcrid('aesni0')
+ print 'aesni:', crid
+ except IOError:
+ print 'aesni0 not found'
+ for i in xrange(10):
+ try:
+ name = Crypto.getcridname(i)
+ print '%2d: %s' % (i, `name`)
+ except IOError:
+ pass
elif False:
kp = KATParser('/usr/home/jmg/aesni.testing/format tweak value input - data unit seq no/XTSGenAES128.rsp', [ 'COUNT', 'DataUnitLen', 'Key', 'DataUnitSeqNumber', 'PT', 'CT' ])
for mode, ni in kp:
More information about the p4-projects
mailing list