blob: 8d51e0f1e8b5dd6a5f8d7decb7562f4ad1b32cd6 [file] [log] [blame]
#pragma once
#include <net/ethernet.h>
#include <optional>
#include <string>
/** @brief Clears out the interfaces and IPs configured for mocking
*/
void mock_clear();
/** @brief Adds the given interface and addr info
* into the ifaddr list.
* @param[in] name - Interface name.
* @param[in] addr - IP address.
* @param[in] mask - subnet mask.
* @param[in] flags - Interface flags.
*/
void mock_addIP(const char* name, const char* addr, const char* mask);
/** @brief Adds an address string to index mapping and MAC mapping
*
* @param[in] name - Interface name
* @param[in] idx - Interface index
* @param[in] mac - Interface MAC address
*/
void mock_addIF(const std::string& name, unsigned idx, unsigned flags = 0,
std::optional<ether_addr> mac = std::nullopt,
std::optional<unsigned> mtu = std::nullopt);