shill: Set interface MAC address for RTNL handler

This is equivalent to ip link dev $INTERFACE address $MAC_ADDRESS

BUG=b:112327498
TEST=tested on biggie and gale.
Create a station interface, set MAC address and observe by ifconfig and
iw dev output.

Change-Id: I7cd83814a5d721cb71c4030a4a6669a046d3d958
Reviewed-on: https://chromium-review.googlesource.com/1166222
Commit-Ready: Julan Hsu <julanhsu@google.com>
Tested-by: Julan Hsu <julanhsu@google.com>
Tested-by: Julan Hsu <julanhsu@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
2 files changed
tree: cd7d460472e7735a025a2963f2790795a55085b9
  1. .gitignore
  2. CPPLINT.cfg
  3. HACKING.md
  4. MODULE_LICENSE_APACHE2
  5. NETLINK_MESSAGES.txt
  6. NOTICE
  7. OWNERS
  8. PRESUBMIT.cfg
  9. TESTING
  10. accessor_interface.h
  11. active_link_monitor.cc
  12. active_link_monitor.h
  13. active_link_monitor_test.cc
  14. adaptor_interfaces.h
  15. async_connection.cc
  16. async_connection.h
  17. async_connection_test.cc
  18. bin/
  19. callbacks.h
  20. cellular/
  21. certificate_file.cc
  22. certificate_file.h
  23. certificate_file_test.cc
  24. connection.cc
  25. connection.h
  26. connection_diagnostics.cc
  27. connection_diagnostics.h
  28. connection_diagnostics_test.cc
  29. connection_health_checker.cc
  30. connection_health_checker.h
  31. connection_health_checker_test.cc
  32. connection_info.cc
  33. connection_info.h
  34. connection_info_reader.cc
  35. connection_info_reader.h
  36. connection_info_reader_test.cc
  37. connection_info_test.cc
  38. connection_test.cc
  39. connection_tester.cc
  40. connection_tester.h
  41. connection_tester_test.cc
  42. connectivity_trial.cc
  43. connectivity_trial.h
  44. connectivity_trial_test.cc
  45. control_interface.h
  46. crypto_des_cbc.cc
  47. crypto_des_cbc.h
  48. crypto_des_cbc_test.cc
  49. crypto_interface.h
  50. crypto_provider.cc
  51. crypto_provider.h
  52. crypto_provider_test.cc
  53. crypto_rot47.cc
  54. crypto_rot47.h
  55. crypto_rot47_test.cc
  56. crypto_util_proxy.cc
  57. crypto_util_proxy.h
  58. crypto_util_proxy_test.cc
  59. daemon_task.cc
  60. daemon_task.h
  61. daemon_task_test.cc
  62. dbus/
  63. dbus_bindings/
  64. dbus_properties_proxy_interface.h
  65. default_profile.cc
  66. default_profile.h
  67. default_profile_test.cc
  68. device.cc
  69. device.h
  70. device_claimer.cc
  71. device_claimer.h
  72. device_claimer_test.cc
  73. device_id.cc
  74. device_id.h
  75. device_info.cc
  76. device_info.h
  77. device_info_test.cc
  78. device_stub.h
  79. device_test.cc
  80. dhcp/
  81. dns_client.cc
  82. dns_client.h
  83. dns_client_factory.cc
  84. dns_client_factory.h
  85. dns_client_test.cc
  86. dns_server_tester.cc
  87. dns_server_tester.h
  88. dns_server_tester_test.cc
  89. dns_util.cc
  90. dns_util.h
  91. dns_util_test.cc
  92. doc/
  93. eap_credentials.cc
  94. eap_credentials.h
  95. eap_credentials_test.cc
  96. eap_listener.cc
  97. eap_listener.h
  98. eap_listener_test.cc
  99. eap_protocol.h
  100. ephemeral_profile.cc
  101. ephemeral_profile.h
  102. error.cc
  103. error.h
  104. error_test.cc
  105. ethernet/
  106. event_dispatcher.cc
  107. event_dispatcher.h
  108. external_task.cc
  109. external_task.h
  110. external_task_test.cc
  111. fake_store.cc
  112. fake_store.h
  113. file_io.cc
  114. file_io.h
  115. file_reader.cc
  116. file_reader.h
  117. file_reader_test.cc
  118. geolocation_info.cc
  119. geolocation_info.h
  120. hook_table.cc
  121. hook_table.h
  122. hook_table_test.cc
  123. http_request.cc
  124. http_request.h
  125. http_request_test.cc
  126. http_url.cc
  127. http_url.h
  128. http_url_test.cc
  129. icmp.cc
  130. icmp.h
  131. icmp_session.cc
  132. icmp_session.h
  133. icmp_session_factory.cc
  134. icmp_session_factory.h
  135. icmp_session_test.cc
  136. icmp_test.cc
  137. init/
  138. ip_address_store.cc
  139. ip_address_store.h
  140. ip_address_store_test.cc
  141. ipconfig.cc
  142. ipconfig.h
  143. ipconfig_test.cc
  144. json_store.cc
  145. json_store.h
  146. json_store_test.cc
  147. key_file_store.cc
  148. key_file_store.h
  149. key_file_store_test.cc
  150. key_value_store.cc
  151. key_value_store.h
  152. key_value_store_test.cc
  153. libshill-client-test.pc.in
  154. libshill-client.pc.in
  155. link_monitor.cc
  156. link_monitor.h
  157. link_monitor_test.cc
  158. logging.cc
  159. logging.h
  160. manager.cc
  161. manager.h
  162. manager_test.cc
  163. metrics.cc
  164. metrics.h
  165. metrics_test.cc
  166. mobile_operator_db/
  167. mock_active_link_monitor.cc
  168. mock_active_link_monitor.h
  169. mock_adaptors.cc
  170. mock_adaptors.h
  171. mock_ares.cc
  172. mock_ares.h
  173. mock_async_connection.cc
  174. mock_async_connection.h
  175. mock_certificate_file.cc
  176. mock_certificate_file.h
  177. mock_connection.cc
  178. mock_connection.h
  179. mock_connection_health_checker.cc
  180. mock_connection_health_checker.h
  181. mock_connection_info_reader.cc
  182. mock_connection_info_reader.h
  183. mock_connectivity_trial.cc
  184. mock_connectivity_trial.h
  185. mock_control.cc
  186. mock_control.h
  187. mock_crypto_util_proxy.cc
  188. mock_crypto_util_proxy.h
  189. mock_dbus_properties_proxy.cc
  190. mock_dbus_properties_proxy.h
  191. mock_device.cc
  192. mock_device.h
  193. mock_device_claimer.cc
  194. mock_device_claimer.h
  195. mock_device_info.cc
  196. mock_device_info.h
  197. mock_dns_client.cc
  198. mock_dns_client.h
  199. mock_dns_client_factory.cc
  200. mock_dns_client_factory.h
  201. mock_dns_server_tester.cc
  202. mock_dns_server_tester.h
  203. mock_eap_credentials.cc
  204. mock_eap_credentials.h
  205. mock_eap_listener.cc
  206. mock_eap_listener.h
  207. mock_event_dispatcher.cc
  208. mock_event_dispatcher.h
  209. mock_external_task.cc
  210. mock_external_task.h
  211. mock_file_io.h
  212. mock_http_request.cc
  213. mock_http_request.h
  214. mock_icmp.cc
  215. mock_icmp.h
  216. mock_icmp_session.cc
  217. mock_icmp_session.h
  218. mock_icmp_session_factory.cc
  219. mock_icmp_session_factory.h
  220. mock_ip_address_store.cc
  221. mock_ip_address_store.h
  222. mock_ipconfig.cc
  223. mock_ipconfig.h
  224. mock_link_monitor.cc
  225. mock_link_monitor.h
  226. mock_log.cc
  227. mock_log.h
  228. mock_log_test.cc
  229. mock_manager.cc
  230. mock_manager.h
  231. mock_metrics.cc
  232. mock_metrics.h
  233. mock_passive_link_monitor.cc
  234. mock_passive_link_monitor.h
  235. mock_pending_activation_store.cc
  236. mock_pending_activation_store.h
  237. mock_portal_detector.cc
  238. mock_portal_detector.h
  239. mock_power_manager.cc
  240. mock_power_manager.h
  241. mock_power_manager_proxy.cc
  242. mock_power_manager_proxy.h
  243. mock_ppp_device.cc
  244. mock_ppp_device.h
  245. mock_ppp_device_factory.cc
  246. mock_ppp_device_factory.h
  247. mock_process_manager.cc
  248. mock_process_manager.h
  249. mock_profile.cc
  250. mock_profile.h
  251. mock_property_store.cc
  252. mock_property_store.h
  253. mock_resolver.cc
  254. mock_resolver.h
  255. mock_routing_table.cc
  256. mock_routing_table.h
  257. mock_service.cc
  258. mock_service.h
  259. mock_socket_info_reader.cc
  260. mock_socket_info_reader.h
  261. mock_store.cc
  262. mock_store.h
  263. mock_throttler.cc
  264. mock_throttler.h
  265. mock_traffic_monitor.cc
  266. mock_traffic_monitor.h
  267. mock_virtual_device.cc
  268. mock_virtual_device.h
  269. net/
  270. nice_mock_control.cc
  271. nice_mock_control.h
  272. passive_link_monitor.cc
  273. passive_link_monitor.h
  274. passive_link_monitor_test.cc
  275. pending_activation_store.cc
  276. pending_activation_store.h
  277. pending_activation_store_test.cc
  278. portal_detector.cc
  279. portal_detector.h
  280. portal_detector_test.cc
  281. power_manager.cc
  282. power_manager.h
  283. power_manager_proxy_interface.h
  284. power_manager_test.cc
  285. ppp_daemon.cc
  286. ppp_daemon.h
  287. ppp_daemon_test.cc
  288. ppp_device.cc
  289. ppp_device.h
  290. ppp_device_factory.cc
  291. ppp_device_factory.h
  292. ppp_device_test.cc
  293. pppoe/
  294. process_manager.cc
  295. process_manager.h
  296. process_manager_test.cc
  297. profile.cc
  298. profile.h
  299. profile_test.cc
  300. property_accessor.h
  301. property_accessor_test.cc
  302. property_iterator.h
  303. property_store.cc
  304. property_store.h
  305. property_store_test.cc
  306. property_store_test.h
  307. protobuf_lite_streams.cc
  308. protobuf_lite_streams.h
  309. provider_db_unittest.bfd
  310. provider_interface.h
  311. refptr_types.h
  312. resolver.cc
  313. resolver.h
  314. resolver_test.cc
  315. result_aggregator.cc
  316. result_aggregator.h
  317. result_aggregator_test.cc
  318. routing_table.cc
  319. routing_table.h
  320. routing_table_entry.h
  321. routing_table_test.cc
  322. rpc_service_watcher_interface.h
  323. rpc_task.cc
  324. rpc_task.h
  325. rpc_task_test.cc
  326. scope_logger.cc
  327. scope_logger.h
  328. scope_logger_test.cc
  329. scoped_umask.cc
  330. scoped_umask.h
  331. service.cc
  332. service.h
  333. service_property_change_test.cc
  334. service_property_change_test.h
  335. service_sorter.h
  336. service_test.cc
  337. service_under_test.cc
  338. service_under_test.h
  339. setup_wifi/
  340. shill-client.gyp
  341. shill.gyp
  342. shill.gypi
  343. shill_ares.cc
  344. shill_ares.h
  345. shill_config.cc
  346. shill_config.h
  347. shill_daemon.cc
  348. shill_daemon.h
  349. shill_main.cc
  350. shill_test_config.cc
  351. shill_test_config.h
  352. shims/
  353. socket_info.cc
  354. socket_info.h
  355. socket_info_reader.cc
  356. socket_info_reader.h
  357. socket_info_reader_test.cc
  358. socket_info_test.cc
  359. static_ip_parameters.cc
  360. static_ip_parameters.h
  361. static_ip_parameters_test.cc
  362. store_interface.h
  363. stub_storage.h
  364. supplicant/
  365. technology.cc
  366. technology.h
  367. technology_test.cc
  368. test-scripts/
  369. test_event_dispatcher.h
  370. testing.h
  371. testrunner.cc
  372. tethering.cc
  373. tethering.h
  374. throttler.cc
  375. throttler.h
  376. throttler_test.cc
  377. traffic_monitor.cc
  378. traffic_monitor.h
  379. traffic_monitor_test.cc
  380. udev/
  381. upstart/
  382. virtual_device.cc
  383. virtual_device.h
  384. virtual_device_test.cc
  385. vpn/
  386. wifi/
  387. wimax/