-static int
-api_sw_interface_ip6_set_link_local_address (vat_main_t * vam)
-{
- unformat_input_t *i = vam->input;
- vl_api_sw_interface_ip6_set_link_local_address_t *mp;
- u32 sw_if_index;
- u8 sw_if_index_set = 0;
- u8 v6_address_set = 0;
- ip6_address_t v6address;
- int ret;
-
- /* Parse args required to build the message */
- while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT)
- {
- if (unformat (i, "%U", api_unformat_sw_if_index, vam, &sw_if_index))
- sw_if_index_set = 1;
- else if (unformat (i, "sw_if_index %d", &sw_if_index))
- sw_if_index_set = 1;
- else if (unformat (i, "%U", unformat_ip6_address, &v6address))
- v6_address_set = 1;
- else
- break;
- }
-
- if (sw_if_index_set == 0)
- {
- errmsg ("missing interface name or sw_if_index");
- return -99;
- }
- if (!v6_address_set)
- {
- errmsg ("no address set");
- return -99;
- }
-
- /* Construct the API message */
- M (SW_INTERFACE_IP6_SET_LINK_LOCAL_ADDRESS, mp);
-
- mp->sw_if_index = ntohl (sw_if_index);
- clib_memcpy (mp->address, &v6address, sizeof (v6address));
-
- /* send it... */
- S (mp);
-
- /* Wait for a reply, return good/bad news */
- W (ret);
- return ret;
-}
-