diff options
Diffstat (limited to 'net.cpp')
-rw-r--r-- | net.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#include <map> +#include <string> + +// Not sure if this should live in utils. Because it's really a per-system +// configuration, instead of just hard-coding channel 1 to be eth0, one could +// conceivably configure it however they pleased. +// +// In this design, channel 0 is the in-band host channel. + +namespace ipmi +{ +namespace network +{ + +// This map should come from a configuration yaml. +// Also, no need to really be a map, could be just an array +// we index into by channel. :D +std::map<int, std::string> ethDeviceMap = { + {1, "eth0"}, + {2, "eth1"}, +}; + + +// Given a channel number, return a matching ethernet device, or empty string +// if there is no match. +// TODO provide this from a configuration: +// https://github.com/openbmc/openbmc/issues/2667 +std::string ChanneltoEthernet(int channel) +{ + auto dev = ethDeviceMap.find(channel); + if (dev == ethDeviceMap.end()) + { + return ""; + } + + return dev->second; +} + +} // namespace network +} // namespace ipmi + |