Use g_object_[gs]et_qdata() instead of g_object_[gs]et_data() with a cached quark. This saves an additional lookup to intern the string.
Add code to nm-device-macsec.c to support the creation of macsec connection. Most of the code for controlling wpa_supplicant is copied from nm-device-ethernet.c and probably could be consolidated in some ways.
At the moment the device only exposes the current link status, but cannot create new links.