DataHoarder
e2392eadf7
Modified how EPL state machine gets initialized Use this script to debug differences with relative line numbers ```php <?php $entries = []; $indentation = []; $r = [ "#( pSwapRomImg=)(0x[0-9a-f]+)#" => '$1(ptr)', "#([hH]andle=)(0x[0-9a-f]+)#" => '$1(ptr)', "#( code=)(0x[0-9a-f]+)#" => '$1(ptr)', "#( glort=)(0x[0-9a-f]+)#" => '$1(ptr)', "#([pP]tr=)(0x[0-9a-f]+)#" => '$1(ptr)', "#( schedPortSpeeds=)(0x[0-9a-f]+)#" => '$1(ptr)', "#(= ?)(0x[0-9a-f]{8,})#" => '$1(ptr)', ]; $find = []; $replace = []; foreach($r as $k => $v){ $find[] = $k; $replace[] = $v; } $stack = ["__main"]; while(!feof(STDIN) and ($line = fgets(STDIN)) !== false){ $line = trim($line); $parts = explode(":", $line); $indent = 0; if(count($parts) >= 6){ $p = $parts; switch($parts[0]){ case "ENTRY": //Example: ENTRY:fsmd:alos/linux/fm_alos_alloc.c:fmAlloc:580:Entering... size=32 $k = $p[1] . ":" . $p[2] . ":" . $p[3]; //line number if(isset($entries[$k])){ $entries[$k][] = (int) $p[4]; }else{ $entries[$k] = [(int) $p[4]]; } case "EXIT": case "WARNING": case "ERROR": case "FATAL": case "INFO": case "DEBUG": case "PRINT": case "DEBUG2": case "DEBUG3": case "ASSERT": case "UNKNOWN_LVL": $k = $p[1] . ":" . $p[2] . ":" . $p[3]; if(isset($entries[$k])){ $parts[4] = "+" . (((int) $p[4]) - end($entries[$k])); //Relative position }else{ $parts[4] = "@" . $p[4]; //Absolute position } if($parts[0] === "EXIT" and isset($entries[$k])){ $indentation[$p[1]] = isset($indentation[$p[1]]) ? $indentation[$p[1]] - 1 : 0; array_pop($entries[$k]); if(count($entries[$k]) === 0){ unset($entries[$k]); } do{ }while(count($stack) > 0 and array_pop($stack) !== $p[3]); if(count($stack) === 0){ echo "TOO MANY EXITS " . $p[3] . PHP_EOL; } } $parts[3] = end($stack) . " -> " . $parts[3]; $indent = $indentation[$parts[1]] ?? 0; if($p[0] === "ENTRY"){ $indentation[$p[1]] = isset($indentation[$p[1]]) ? $indentation[$p[1]] + 1 : 1; $stack[] = $p[3]; } $parts[3] = " " . $parts[3]; unset($parts[2]); //Remove file name $parts[5] = preg_replace($find, $replace, $p[5]); break; } } echo str_repeat(" ", $indent) . implode(":", $parts) . PHP_EOL; } foreach($entries as $k => $missing){ echo "$k is missing exit on ". count($missing) . " entries" . PHP_EOL; } ``` |
||
---|---|---|
dist | ||
include | ||
src | ||
.drone.jsonnet | ||
.gitignore | ||
autogen.sh | ||
configure.ac | ||
COPYING | ||
Makefile.am | ||
README.md | ||
version.sh |
Intel(R) Ethernet Switch (IES) Software API - GammaSpectra Sillycom Mod
Patched version of Intel's IES, based on version 4.3.0_0447_00330361
.
Includes patches to make Silicom cards work, and other bugfixes and/or improvements.
Switch Manager
Feel free to write your own against the interface provided. See match as an example Switch Manager.
Binary Diffing
Check out IES-binary-diffing project for a ready to use setup for binary comparing against compiled shared libraries, matching compilation environment.