Router cross point switch using system verilog doubt

please see the code from above website
error – the problem is the packet is not sent successfully to scoreboard want to know the reason and where my mistake is

Image

You have provided a lot of code for people do go through using a non-standard methodology. You are going to need to provide more debugging details like at what condition the packet should have been sent to the scoreboard.





expected output -

[NOTE] 4350.0ns Packet #0 Successfully compared
[NOTE] 4350.0ns Packet #1 Successfully compared
[NOTE] 4350.0ns Packet #2 Successfully compared
[NOTE] 4350.0ns Packet #3 Successfully compared
[NOTE] 5150.0ns Packet #4 Successfully compared
[NOTE] 5150.0ns Packet #5 Successfully compared
so on … until
[NOTE] XXXX.xns Packet #199 Successfully compared (as run_for_n_packets=200)

practical output -----

router_test_top.t.Scoreboard.check

[ERROR] 4350.0ns Packet #0 Payload Size Mismatch:

payload.size()=2,pkt2cmp.payload.size()=0

[ERROR] 4350.0ns Packet[3] sa=8,da=0

[ERROR] 4350.0ns Packet[3] payload[0] = 149

[ERROR] 4350.0ns Packet[3] payload[1] = 153

[ERROR] 4350.0ns Packet sa=0,da=0

** Note: $finish : Scoreboard.sv(58)

Time: 4350 ns Iteration: 2 Region: /router_test_top/t/Scoreboard::start

End time: 15:18:40 on Dec 23,2023, Elapsed time: 0:00:07

Errors: 0, Warnings: 0

expected output is not displaying what might be the coding mistake ?