| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have occasionally noticed that the watchdog will be enabled and then
immediately trip upon booting of the BMC. This happens if the host is
still running when the BMC is coming up. Digging into the issue we notice
that the phosphor-mapper can be under very heavy load responding to all
of the initial mapping requests from BMC daemons starting. This causes a
delay in the phosphor-watchdog service name lookup during an attempt to
reset the watchdog countdown. The lookup delay is so long that the
watchdog ends up tripping before the reset is actually issued, causing
the BMC to reset the host. Since we know that the watchdog will not be
armed until the service resolves for the first time, we can reduce the
dependence and pressure on the service mapper by caching the service
name. Since it is the case that we want to keep issuing resets to the
same daemon that was initially configured, we should have no worries
about invalidating the cached service name. The name will be invalidated
any time we encounter a dbus level error issuing a watchdog commmand.
Change-Id: I303a39be997c2e57050b71efc8ef2e2cb27f8cf7
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the function from app/channel.cpp to the
transporthandler.cpp
setChannel access is disabled now as the functionality
to apply the network changes would be done through timer
based approach.
In later commit we would create this function as callback
when the network timer expires.
Change-Id: Ic128a47237b2ecdbc56267227105909f8886a862
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
| |
Change-Id: I2ba9fd0eeba4e828cafd1bcf6fe30e2322eaf99e
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
| |
We now respect the action set during the SetTimeout command. This maps
to one of the actions defined by the dbus Watchdog interface
Change-Id: I4d13d2539a2d955a4340bf5f915ca6f3b694550a
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
| |
This makes it possible for the phosphor-host-ipmi or any other watchdog
managing daemon to report to the caller that the watchdog was not configured
if the phosphor-watchdog daemon restarts for any reason.
Change-Id: Iae3a8554c2f5d1cb89368f3ce14b3d44922599c0
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
| |
Change-Id: I730317954819859d23fdaca7336f19f5c5b0c107
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
| |
This is a refactoring of names + header cleanup and has no functional
change.
Change-Id: Ie90fded80b6a26927f56bb342993193530b8b8ef
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
| |
This adds return codes for all of the dbus failures which inform the
host that it should retry the IPMI command as dbus related errors should
be ephemeral.
Change-Id: I090f488535625a996347677a0c8addbdff0996c0
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When deserializing a bool with sd_bus_message_read, it expects the
storage of the passed in container to be 4 bytes. A bool is not
guaranteed to be this large and will cause sd_bus_message_read to
scribble on the stack. Change enabled to int to guarantee enough
space to deserialize the result.
For reference libsystemd is doing:
*(int*) p = !!*(uint8_t*) q;
Change-Id: Ic299e303fcb70941757c453a7b4f643337220afb
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
| |
This enables the host to recover when the BMC resets or the daemon loses
state for some reason. A well formed host will resend the SetTimeout
command if it encounters this error code.
Change-Id: Ib5fd50ac3ad83ef820f0209354aa8f084a563995
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
1) Get the interface mode of the system if it is not given
so that we can set the same interface mode as it was before.
2) Removed the unnecessary condition of getting the VLAN.
Resolves openbmc/openbmc#2738
Change-Id: I1658fbf78627e7cc1c7e1e5875964ed30c58d6dc
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the ipmi daemon only supported eth0 and hard-coded it
to channel 1. This allows one to map via a configuration. The
channel number provided is checked against a configuration to retrieve
the ethernet device identifier, e.g. eth0.
Tested: Ran on a quanta-q71l and was able to properly set MAC, IP,
Netmask, Gateway IP, and then verified the data was set for the eth1
via `ip addr show eth1`.
Change-Id: I92f63188297304e9454fd0d6fe32bc6cf84bb181
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We did the filtering during IPAddress parameter
to avoid link local address but left it for subnetMask
and vlan parameter.
With the introduction of zeroconfig IP we have
multiIPaddress can exist on the interface.
This commit introduces the filtering for subnetmask and
vlan parameter also.
Resolves openbmc/openbmc#2664
Change-Id: I244bfe8b9d7efbf55fc1b7051489a8a204182906
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
|
|
| |
Some style cleanup.
Change-Id: I4f8ce595294797cc015a55cc6c9477aee7b6938a
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I split out the channel commands into their own
subordinate file from the apphandler.cpp. There
are three commands in apphandler for the channel
information. There are other commands in the
transporthandler that correlate.
Moving this is step one in a larger task to enable
multiple channels.
Change-Id: I2e434a1da942325fc420079415edb39622f4e346
Signed-off-by: Patrick Venture <venture@google.com>
|
|
I split out the watchdog command handlers into their own
subordinate file from the apphandler. This reduces the
size of the contents of the apphandler file, and logically
cuts out code into its own files.
Change-Id: Idc70acad6c93c12456cc7092786715643c9c1ffb
Signed-off-by: Patrick Venture <venture@google.com>
|