jbjohnso
50ca1f5737
Have IPMI tolerate incorrect rqaddr field to communicate with buggy BMCs that don't comply to the spec
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@15013 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-01-29 21:23:38 +00:00
jbjohnso
86102a215b
Provide more human readable interpretation of RMCP status messages where possible
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14727 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-01-02 18:31:14 +00:00
jbjohnso
5f050f6a49
Instead of randomizing each retry, just randomize the first to get things spread out then do the triangular progression timeout
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14243 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-05 14:36:04 +00:00
jbjohnso
7b2b6d9d2c
Apply another algorithm to avoid sequence number reuse as much as possible
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14236 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-04 17:25:38 +00:00
jbjohnso
6464143589
Have IPMI.pm explicitly not expect cmd netfn after receiveng cmd/netfn response
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14234 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-04 17:25:25 +00:00
jbjohnso
49b78de893
Improve reliability of duplicate response detection phase 1, also check netfn and command match
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14225 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-11-02 13:37:46 +00:00
jbjohnso
d4fa1ed91a
Document some potential plans for sequence number magic to disambiguate spurious retries again
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14128 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-25 19:53:58 +00:00
jbjohnso
ba08481381
It was discovered that the strategy to jump software ids, while effective, had the side effect of invalidating reservations
...
This means that initial SDR download would usually fail on implementations that consider reservations in such a manner.
Back out the incrementing software id behavior and instead bump retry interval back up to mitigate risk of wraparound
on retries.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@14126 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-25 19:26:09 +00:00
jbjohnso
ad9945e953
Extend ipmi sequence validity through rqaddr
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13987 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-11 21:02:53 +00:00
jbjohnso
7d023e94ac
Fix glaring mistake in previous commit where 'FAILED' and 'all good' were indistinguishable
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13945 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-03 19:56:35 +00:00
jbjohnso
ab965b04ed
Have IPMI more decisively quite should the password be incorrect. Hypothetically a DoS could be aimed at the client, but that's much less likely.
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13944 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-10-03 19:56:29 +00:00
jbjohnso
ccaacfd954
Fix mistake with sid increment
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13823 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-16 12:55:27 +00:00
jbjohnso
fe4b65400f
Several changes to improve IPMI behavior, *particularly* with IPMI 2.0
...
-Go back to restarting the log in process if rakp2 or rakp4 goes awry, it's too likely for a dropped packet to confuse IPMI 2 devices.
-Fix relog to reset session context to avoid getting distracted by now stale RAKP messages if the IPMI device happened to be slow
-Switch session ids on relog, so that everything can ignore packets from a zombie IPMI session reliably (e.g. relog recovery of a session).
-In parse_ipmi_payload, delete pendingargs in addition to deleting sessions_waiting entry. The latter should have sufficed, but there persisted an odd
issue where sometimes the last non-logout packet was erroneously retransmitted as retries at the end. This change short-circuits
the timedout function should this occur, generally delaying exit by 100 milliseconds whet it goes wrong.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13815 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-16 03:53:43 +00:00
jbjohnso
98ffaf7fbc
In accordance with previous change, always act as if logout completed successfully without checking the result
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13812 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 13:23:30 +00:00
jbjohnso
9bab28ab00
When doing close session, if the reply packet is dropped on the network, session may no longer be closeable. Send a close session and hope for the best, do not hold up things waiting
...
for something that shall never come
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13811 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 13:23:22 +00:00
jbjohnso
95fbd48c1e
Eliminate instances of recursive timedouts really ruining our day in IPMI
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13809 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 00:57:44 +00:00
jbjohnso
1f5e91d32e
Rework IPMI.pm IPMI 2 session negotiation a bit, now we take care to make sure the most recent open rmcp+ request is the one used
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13808 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-15 00:57:28 +00:00
jbjohnso
64d767ab44
Revise ipmi 2 session establishment to be more forgiving of retries during the process
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13805 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-14 15:01:43 +00:00
jbjohnso
54f4616dbc
Rework IPMI seqlun management to avoid accepting the same data twice as valid instead of retry
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13788 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-09-13 21:00:07 +00:00
jbjohnso
55c3a0ef04
Sometimes IPMI 2 implementations randomly complain about our math being wrong once in a few thousand tries, start over from scratch should this occur
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13593 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-08-23 18:21:25 +00:00
jbjohnso
7fce0d11b6
Further refine IPMI support, now pretty solid for 5,000 nodes at a time, still one more condition to recover from, erroneous bad auth code
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13590 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-08-23 17:08:52 +00:00
jbjohnso
9764d338cd
Further refinements of IPMI, defer retries until there is a guaranteed chance given for BMC to reply
...
Ensure every transmit gives an opportunity to process incoming data
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13456 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-08-08 19:52:02 +00:00
jbjohnso
18052caaef
Tweak IPMI retry to be more aggressive to reduce impact of occasional drops
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13371 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-30 19:22:46 +00:00
jbjohnso
2beaf85453
Fix problem where IPMI 1.5 timeouts would bug rather than properly report problem
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13351 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-26 13:10:39 +00:00
jbjohnso
f19277afe8
Rework pulling packets off the socket, less delay in moving data to a more stable data structure
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13346 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-25 20:19:20 +00:00
jbjohnso
825e410d16
Rework IPMI.pm a tad for better sacalbility
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13345 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-07-25 20:19:08 +00:00
jbjohnso
ebb3f27e55
Rework some of the IPv6 logic to tolerate certain peculiar perl environments
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11797 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-03-08 15:17:20 +00:00
jbjohnso
b144a32404
Implement a '-w' argument on rpower suspend to force blocking until system has gone into suspend
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11699 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-02-27 17:49:29 +00:00
jbjohnso
9bc1b7f8f1
Explicitly denote NI_NUMERICHOST as a function, which seems strange but it makes perl give us the benefit of the doubt
...
on it beling a valid scoped entity that will be avoided if not imported.
Could have probably used & to acheive the same effect, but it doesn't particularly matter
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11500 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-02-07 13:34:20 +00:00
jbjohnso
c41fe0e1a3
Fix IPMI.pm warning message on every packet when IPv6 is possible
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11475 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-02-03 22:17:46 +00:00
jbjohnso
45fecc3aa5
Have IPMI avoid conflicts between Socket6 and INET in some configs
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11425 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2012-01-27 16:53:48 +00:00
jbjohnso
bb0d44e4c6
Fix a warning message and ever so slightly improve performance
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11240 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2011-12-13 19:59:42 +00:00
jbjohnso
acdca98125
Have base IPMI functionality be IPv4/IPv6 agnostic.
...
wvid still is IPv4 dependent, need to hijack LWP's use of IPv6-incapbale
ipmitool can't do it either..
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11238 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2011-12-13 19:57:29 +00:00
lissav
27575eae36
Comment out use/require Data:Dumper
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@9271 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2011-04-11 13:51:09 +00:00
jbjohnso
791598aeb1
-Fix output when logout packet times out
...
-Adjust RCVBUF as possible in IPMI to increase outstanding transactions when the default value is low.
-Have IPMI throttle outstanding transactions based on the available size of the buffer to minimize UDP loss due to buffer overflow.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@8599 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2011-01-10 20:25:35 +00:00
jbjohnso
4a6e7dd4ca
-Fix errors where responses from retries would be confused for new data
...
-Increase initial timeout to assure at least one second lapses before a retry is sent (if time is milliseconds from a new second, the old code would retry in milliseconds)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5215 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-02-12 19:24:25 +00:00
jbjohnso
f49c63dcba
-Fix problem where unresolvable BMC addresses reported as BUG rather than a clean error message
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5206 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-02-10 20:05:00 +00:00
jbjohnso
abe207e271
-Report timeout condition back up through stack
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5170 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-02-05 18:17:27 +00:00
jbjohnso
42d1c686f6
-Implement timeouts and retry
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5169 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-02-05 18:11:12 +00:00
jbjohnso
c38f03b095
-Fix padding mistake in IPMI library
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5092 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-31 18:39:53 +00:00
jbjohnso
5d04211a85
-Fix so encryption working is no longer simply because I got it wrong twice
...
-Complete decryption, IPMI 2.0 session management complete
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5085 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-30 01:06:16 +00:00
jbjohnso
fd442e74ae
-First pass at decrypting data, seems accurate but isn't getting the full data yet
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5079 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-29 04:40:10 +00:00
jbjohnso
3c164dd1cf
-Remove test IV
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5078 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-29 04:16:34 +00:00
jbjohnso
712c9edd0b
-Encrypt outgoing payloads successfully
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5077 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-29 04:15:52 +00:00
jbjohnso
c98c4faf07
-Process received IPMI 2 IPMI payload with authentication
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5076 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-29 03:17:19 +00:00
jbjohnso
d696c29aae
-Remove debug output
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5075 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-29 02:34:06 +00:00
jbjohnso
da608883e4
-Implement HMAC integrity algorithm
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5074 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-29 02:32:47 +00:00
jbjohnso
5004985f18
-Get up through rakp4, next is to actually execute the integrity algorithm
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5073 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-28 22:06:22 +00:00
jbjohnso
0c6495c55a
-Get to rmcp+ session response correctly
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5067 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-28 03:42:24 +00:00
jbjohnso
37982470d2
-Phase 1 of IPMI rewrite, a generic IPMI session management. Implements 1.5, to add 2.0
...
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5060 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-01-27 14:58:18 +00:00