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