blob: 74a693e75e406bbea3b620b162824608b9da06eb [file] [log] [blame]
Ratan Gupta8ab17922017-05-25 13:07:05 +05301#pragma once
William A. Kennington IIIcb64b992019-04-21 18:45:07 -07002#include <net/ethernet.h>
3
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -07004#include <string>
Ratan Gupta8ab17922017-05-25 13:07:05 +05305
William A. Kennington III862275a2019-04-22 20:37:08 -07006/** @brief Clears out the interfaces and IPs configured for mocking
7 */
8void mock_clear();
9
Ratan Gupta8ab17922017-05-25 13:07:05 +053010/** @brief Adds the given interface and addr info
11 * into the ifaddr list.
12 * @param[in] name - Interface name.
13 * @param[in] addr - IP address.
14 * @param[in] mask - subnet mask.
15 * @param[in] flags - Interface flags.
16 */
17
18void mock_addIP(const char* name, const char* addr, const char* mask,
19 unsigned int flags);
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -070020
William A. Kennington IIIcb64b992019-04-21 18:45:07 -070021/** @brief Adds an address string to index mapping and MAC mapping
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -070022 *
23 * @param[in] name - Interface name
24 * @param[in] idx - Interface index
William A. Kennington IIIcb64b992019-04-21 18:45:07 -070025 * @param[in] mac - Interface MAC address
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -070026 */
William A. Kennington IIIcb64b992019-04-21 18:45:07 -070027void mock_addIF(const std::string& name, int idx,
28 const ether_addr& mac = ether_addr{});