This works enough to exchange data with my openwrt ath9k AP
running GCMP-128 and GCMP-256.
The AES-GCMP code is BSD licenced code from hostapd.git .
Note - this is a WIP commit just so the code isn't lost in the sands of time. There is a bunch of clean-up to do and perhaps some code de-duplication with the CCMP crypto module, as well as TODO items in GCMP/CCMP around the AAD header contents.