blob: 39c39860f2cf65aded581daf8d3fd4538b818a5e [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 III9ecb90e2022-10-14 03:12:43 -07004#include <optional>
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -07005#include <string>
Ratan Gupta8ab17922017-05-25 13:07:05 +05306
William A. Kennington III862275a2019-04-22 20:37:08 -07007/** @brief Clears out the interfaces and IPs configured for mocking
8 */
9void mock_clear();
10
William A. Kennington IIIcb64b992019-04-21 18:45:07 -070011/** @brief Adds an address string to index mapping and MAC mapping
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -070012 *
13 * @param[in] name - Interface name
14 * @param[in] idx - Interface index
William A. Kennington IIIcb64b992019-04-21 18:45:07 -070015 * @param[in] mac - Interface MAC address
William A. Kennington IIIebb1ad02019-04-21 18:02:49 -070016 */
William A. Kennington III9ecb90e2022-10-14 03:12:43 -070017void mock_addIF(const std::string& name, unsigned idx, unsigned flags = 0,
18 std::optional<ether_addr> mac = std::nullopt,
19 std::optional<unsigned> mtu = std::nullopt);