shill: Ethernet: Authenticate to 802.1x networks

Instantate a Network instance in wpa_supplicant to perform
802.1x authentication, given the service EAP parameters if
an EAP authenticator is detected on the link and credentials
are available.  Note that this is the only flow that is
supported with this change -- authenticating and
deauthenticating as credentials appear and disappear will
be supported in a follow-on CL.

CQ-DEPEND=CL:47403,CL:47428
BUG=chromium:224091
TEST=New autotest network_8021xWiredAuthentication
(https://gerrit.chromium.org/gerrit/47410)

Change-Id: I3feeceb02b15646130bf862f894a77c203fb9860
Reviewed-on: https://gerrit.chromium.org/gerrit/47411
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
diff --git a/wpa_supplicant.h b/wpa_supplicant.h
index a47c67d..78260e9 100644
--- a/wpa_supplicant.h
+++ b/wpa_supplicant.h
@@ -68,6 +68,7 @@
   static const char kInterfaceStateGroupHandshake[];
   static const char kInterfaceStateInactive[];
   static const char kInterfaceStateScanning[];
+  static const char kKeyManagementIeee8021X[];
   static const char kKeyManagementMethodSuffixEAP[];
   static const char kKeyManagementMethodSuffixPSK[];
   static const char kKeyModeNone[];
@@ -96,6 +97,7 @@
   static const char kNetworkPropertyEapCaCertId[];
   static const char kNetworkPropertyEapPin[];
   static const char kNetworkPropertyEapSubjectMatch[];
+  static const char kNetworkPropertyEapolFlags[];
   static const char kNetworkPropertyEngine[];
   static const char kNetworkPropertyEngineId[];
   static const char kNetworkPropertyFrequency[];