PERFORCE change 1202587 for review

John-Mark Gurney jmg at FreeBSD.org
Fri Nov 7 00:41:43 UTC 2014


http://p4web.freebsd.org/@@1202587?ac=10

Change 1202587 by jmg at jmg_carbon2 on 2014/11/07 00:40:50

	add a method to map a device name to it's crid...  This will allow
	us to specify which device to test...  It'd be nice in the future
	to query and test all of the devices that are in the system,
	though as each one will support a different set of features,
	it'll be complicated to test and make sure we know they are correct..
	
	Sponsored by:	FreeBSD Foundation
	Sponsored by:	Netgate

Affected files ...

.. //depot/projects/opencrypto/tests/sys/opencrypto/cryptodev.py#2 edit

Differences ...

==== //depot/projects/opencrypto/tests/sys/opencrypto/cryptodev.py#2 (text+ko) ====

@@ -11,6 +11,12 @@
 
 __all__ = [ 'Crypto', 'MismatchError', ]
 
+class FindOp(dpkt.Packet):
+	__byte_order__ = '@'
+	__hdr__ = ( ('crid', 'i', 0),
+		('name', '32s', 0),
+	)
+
 class SessionOp(dpkt.Packet):
 	__byte_order__ = '@'
 	__hdr__ = ( ('cipher', 'I', 0),
@@ -89,7 +95,19 @@
 _cryptodev = _getdev()
 
 class Crypto:
-	def __init__(self, cipher=0, key=None, mac=0, mackey=None):
+	@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 fop.crid
+
+	def __init__(self, cipher=0, key=None, mac=0, mackey=None,
+	    crid=CRYPTOCAP_F_SOFTWARE | CRYPTOCAP_F_HARDWARE):
 		self._ses = None
 		ses = SessionOp2()
 		ses.cipher = cipher
@@ -327,7 +345,10 @@
 	return ''.join(s.split()).decode('hex')
 
 if __name__ == '__main__':
-	if False:
+	if True:
+		print Crypto.findcrid('aesni0')
+
+	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:
 			print `i`, `ni`


More information about the p4-projects mailing list