|
10 | 10 | * Copyright (c) 2004-2005 The Regents of the University of California. |
11 | 11 | * All rights reserved. |
12 | 12 | * Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. |
13 | | - * Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. |
| 13 | + * Copyright (c) 2010-2013 Cisco Systems, Inc. All rights reserved. |
14 | 14 | * $COPYRIGHT$ |
15 | 15 | * |
16 | 16 | * Additional copyrights may follow |
@@ -390,6 +390,46 @@ int opal_ifindextomask(int if_index, uint32_t* if_mask, int length) |
390 | 390 | return OPAL_ERROR; |
391 | 391 | } |
392 | 392 |
|
| 393 | +/* |
| 394 | + * Lookup the interface by opal_list index and return the |
| 395 | + * MAC assigned to the interface. |
| 396 | + */ |
| 397 | + |
| 398 | +int btl_usnic_opal_ifindextomac(int if_index, uint8_t mac[6]) |
| 399 | +{ |
| 400 | + opal_if_t* intf; |
| 401 | + |
| 402 | + for (intf = (opal_if_t*)opal_list_get_first(&opal_if_list); |
| 403 | + intf != (opal_if_t*)opal_list_get_end(&opal_if_list); |
| 404 | + intf = (opal_if_t*)opal_list_get_next(intf)) { |
| 405 | + if (intf->if_index == if_index) { |
| 406 | + memcpy(mac, &intf->if_mac, 6); |
| 407 | + return OPAL_SUCCESS; |
| 408 | + } |
| 409 | + } |
| 410 | + return OPAL_ERROR; |
| 411 | +} |
| 412 | + |
| 413 | +/* |
| 414 | + * Lookup the interface by opal_list index and return the |
| 415 | + * MTU assigned to the interface. |
| 416 | + */ |
| 417 | + |
| 418 | +int btl_usnic_opal_ifindextomtu(int if_index, int *if_mtu) |
| 419 | +{ |
| 420 | + opal_if_t* intf; |
| 421 | + |
| 422 | + for (intf = (opal_if_t*)opal_list_get_first(&opal_if_list); |
| 423 | + intf != (opal_if_t*)opal_list_get_end(&opal_if_list); |
| 424 | + intf = (opal_if_t*)opal_list_get_next(intf)) { |
| 425 | + if (intf->if_index == if_index) { |
| 426 | + *if_mtu = intf->if_mtu; |
| 427 | + return OPAL_SUCCESS; |
| 428 | + } |
| 429 | + } |
| 430 | + return OPAL_ERROR; |
| 431 | +} |
| 432 | + |
393 | 433 | /* |
394 | 434 | * Lookup the interface by opal_list index and return the |
395 | 435 | * flags assigned to the interface. |
|
0 commit comments