summaryrefslogtreecommitdiffstats
path: root/net.cpp
blob: 6c492a2e3094c1b94ebe48b561f2d78696aa3e77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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

OpenPOWER on IntegriCloud