Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test Ipmi Payload #2242

Open
justin0309 opened this issue May 28, 2024 · 3 comments
Open

Test Ipmi Payload #2242

justin0309 opened this issue May 28, 2024 · 3 comments

Comments

@justin0309
Copy link

justin0309 commented May 28, 2024

openbmc code base: 2.14.0
auto-test : v4.0-stable

For the test items of Test Deactivate Payload,
I based on
openbmc/phosphor-net-ipmid@34a2c41
This commit fix, according to the description

//Deactivate SOL
~$ipmitool -I lanplus -H <BMC-IP> -U <UserID> -P <PWD> -C 17 raw 0x06
           0x49 0x01 0x01 0x00 0x00 0x00 0x00
Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0
           cmd=0x49 rsp=0x80): Unknown (0x80)

image
But this behavior will still be considered as fail in auto-test, so should I modify the test process or the source code?

In addition,
Verify Set User Access Payload For Invalid User
'' does not contain 'rsp=0xcc'
Verify Get User Access Payload For Invalid User
' 02 00 00 00' does not contain 'rsp=0xcc'
Verify Get Channel Payload Support For Invalid Channel
'Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x4e rsp=0xff): Unspecified error' does not contain 'rsp=0xcc'
I don’t know if these three response codes are code or auto-test that need to be modified.

@gkeishin
Copy link
Member

@Ganesan149 @aravinth0510 @KothaiSrini Can your help respond to the above? or are you also seeing the same?

@Ganesan149
Copy link
Contributor

Ganesan149 commented Aug 23, 2024

@gkeishin
yes, seeing this issue.

@Gavin860606
Copy link

Gavin860606 commented Aug 28, 2024

I've encountered the same failure based on openbmc v2.17.

sol session connection is handled by phosphor-net-ipmid, If we sends an ipmi payload actiavte command with instance id 1
(raw 0x06 0x48 0x01 0x01 0xc6 0x00 0x00 0x00)

The payload instance will treat as activated, but the session manager removed the session since it's a corrupted session.
However, the current design of phosphor-net-ipmid did not remove the sol payload instance as well.

The actual behavior of Test_Deactivate_Payload would looks like

1. raw 0x06 0x48 0x01 0x01 0xc6 0x00 0x00 0x00 (activate payload)
2. phosphor-net-ipmid/sol_manager handled the session and append the instance to the payloadMap 
3. After 1 second, phosphor-net-ipmid/session_manager removed the session since it's an idle session
4. raw 0x06 0x4a 0x01 (resp -> 01 01 00) the byte2 01 shows the payload instance 1 is still activated 
5. test suite continued to deactivate payload...

On the other hand, if you to use sol activate instance=1, you can see the payload was activated and the ssesion will not be removed since ipmitool/ipmi_sol.c wrapped the session connection behavior correctly...

My suggestion is to modify the ipmi payload validation logic and evaluate if we can use sol activate instance=1 sol deactivate instance=1 ipmi command instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants