1 /* honor unnumbered */,
({
ip4_address_t *r4 = ip_interface_address_get_address (lm4, ia);
- if (fib4->table_id)
- vlib_cli_output (vm, " L3 %U/%d ip4 table-id %d fib-idx %d",
- format_ip4_address, r4, ia->address_length,
- fib4->table_id,
- ip4_fib_index_from_table_id (fib4->table_id));
+ if (fib4->hash.table_id)
+ vlib_cli_output (
+ vm, " L3 %U/%d ip4 table-id %d fib-idx %d", format_ip4_address,
+ r4, ia->address_length, fib4->hash.table_id,
+ ip4_fib_index_from_table_id (fib4->hash.table_id));
else
vlib_cli_output (vm, " L3 %U/%d",
format_ip4_address, r4, ia->address_length);
return clib_error_return (0, "When enabling unnumbered specify the"
" IP enabled interface that it uses");
- vnet_sw_interface_update_unnumbered (unnumbered_sw_if_index,
- inherit_from_sw_if_index, enable);
+ int rv = vnet_sw_interface_update_unnumbered (
+ unnumbered_sw_if_index, inherit_from_sw_if_index, enable);
+
+ switch (rv)
+ {
+ case 0:
+ break;
+
+ case VNET_API_ERROR_UNEXPECTED_INTF_STATE:
+ return clib_error_return (
+ 0,
+ "When enabling unnumbered both interfaces must be in the same tables");
+
+ default:
+ return clib_error_return (
+ 0, "vnet_sw_interface_update_unnumbered returned %d", rv);
+ }
return (NULL);
}