Commit f1da1400 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

libnicbm: support generating a MAC address

parent 895dd2ce
......@@ -63,6 +63,7 @@ class Runner {
protected:
Device &dev;
uint64_t mac_addr;
struct nicsim_params nsparams;
volatile union cosim_pcie_proto_d2h *d2h_alloc(void);
......@@ -89,6 +90,7 @@ class Runner {
void eth_send(const void *data, size_t len);
uint64_t time_ps() const;
uint64_t get_mac_addr() const;
};
/**
......
......@@ -5,6 +5,8 @@
#include <unistd.h>
#include <signal.h>
#include <cassert>
#include <ctime>
#include <iostream>
#include <nicbm.h>
......@@ -260,9 +262,22 @@ uint64_t Runner::time_ps() const
return main_time;
}
uint64_t Runner::get_mac_addr() const
{
return mac_addr;
}
Runner::Runner(Device &dev_)
: dev(dev_)
{
//mac_addr = lrand48() & ~(3ULL << 46);
srand48(time(NULL) ^ getpid());
mac_addr = lrand48();
mac_addr <<= 16;
mac_addr ^= lrand48();
mac_addr &= ~(3ULL << 40);
std::cerr << std::hex << mac_addr << std::endl;
}
int Runner::runMain(int argc, char *argv[])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment