summaryrefslogtreecommitdiffstats
path: root/src/pre_test.h
diff options
context:
space:
mode:
authorIdo Barnea <ibarnea@cisco.com>2016-09-25 16:58:02 +0300
committerIdo Barnea <ibarnea@cisco.com>2016-10-05 10:45:28 +0300
commita42bf7bc43e78e63c266c22cccf15ce3f4cab297 (patch)
treebf8c61d079f7aa8e94ae6f82262923da92019ced /src/pre_test.h
parentaf781231f369dfcf735b499ed65b800e7d6b5537 (diff)
pre test: Periodically send gratuitous ARP in stateful
Diffstat (limited to 'src/pre_test.h')
-rw-r--r--src/pre_test.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/pre_test.h b/src/pre_test.h
index 09085329..bd908cbb 100644
--- a/src/pre_test.h
+++ b/src/pre_test.h
@@ -23,6 +23,7 @@
#define __PRE_TEST_H__
#include <iostream>
+#include "bp_sim.h"
#include "trex_defs.h"
class CPretestPortInfo {
@@ -38,18 +39,21 @@ class CPretestPortInfo {
CPretestPortInfo() {
m_state = INIT_NEEDED;
+ m_is_loopback = false;
}
void dump(FILE *fd);
uint8_t *create_arp_req(uint16_t &pkt_size, uint8_t port, bool is_grat);
- void set_params(uint32_t ip, const uint8_t *src_mac, uint32_t def_gw, bool resolve_needed);
+ void set_params(CPerPortIPCfg port_cfg, const uint8_t *src_mac, bool resolve_needed);
void set_dst_mac(const uint8_t *dst_mac);
private:
uint32_t m_ip;
uint32_t m_def_gw;
+ uint16_t m_vlan;
uint8_t m_src_mac[6];
uint8_t m_dst_mac[6];
enum CPretestPortInfoStates m_state;
+ bool m_is_loopback;
};
@@ -59,12 +63,12 @@ class CPretest {
m_max_ports = max_ports;
}
bool get_mac(uint16_t port, uint32_t ip, uint8_t *mac);
- void set_port_params(uint16_t port, uint32_t ip, const uint8_t *src_mac, uint32_t def_gw,
- bool resolve_needed);
+ bool is_loopback(uint16_t port);
+ void set_port_params(uint16_t port_id, const CPerPortIPCfg &port_cfg, const uint8_t *src_mac, bool resolve_needed);
bool resolve_all();
void send_arp_req(uint16_t port, bool is_grat);
void send_grat_arp_all();
- bool is_arp(uint8_t *p, uint16_t pkt_size, struct arp_hdr *&arp);
+ bool is_arp(const uint8_t *p, uint16_t pkt_size, struct arp_hdr *&arp);
void dump(FILE *fd);
void test();