Added 2way traceroute
This commit is contained in:
@@ -23,6 +23,7 @@ export const TracerouteResponseDialog = ({
|
|||||||
}: TracerouteResponseDialogProps): JSX.Element => {
|
}: TracerouteResponseDialogProps): JSX.Element => {
|
||||||
const { nodes } = useDevice();
|
const { nodes } = useDevice();
|
||||||
const route: number[] = traceroute?.data.route ?? [];
|
const route: number[] = traceroute?.data.route ?? [];
|
||||||
|
const routeBack: number[] = traceroute?.data.routeBack ?? [];
|
||||||
const from = nodes.get(traceroute?.from ?? 0);
|
const from = nodes.get(traceroute?.from ?? 0);
|
||||||
const longName =
|
const longName =
|
||||||
from?.user?.longName ??
|
from?.user?.longName ??
|
||||||
@@ -38,7 +39,7 @@ export const TracerouteResponseDialog = ({
|
|||||||
<DialogTitle>{`Traceroute: ${longName} (${shortName})`}</DialogTitle>
|
<DialogTitle>{`Traceroute: ${longName} (${shortName})`}</DialogTitle>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
<TraceRoute route={route} from={from} to={to} />
|
<TraceRoute route={route} routeBack={routeBack} from={from} to={to} />
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|||||||
@@ -6,12 +6,14 @@ export interface TraceRouteProps {
|
|||||||
from?: Protobuf.Mesh.NodeInfo;
|
from?: Protobuf.Mesh.NodeInfo;
|
||||||
to?: Protobuf.Mesh.NodeInfo;
|
to?: Protobuf.Mesh.NodeInfo;
|
||||||
route: Array<number>;
|
route: Array<number>;
|
||||||
|
routeBack?: Array<number>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const TraceRoute = ({
|
export const TraceRoute = ({
|
||||||
from,
|
from,
|
||||||
to,
|
to,
|
||||||
route,
|
route,
|
||||||
|
routeBack,
|
||||||
}: TraceRouteProps): JSX.Element => {
|
}: TraceRouteProps): JSX.Element => {
|
||||||
const { nodes } = useDevice();
|
const { nodes } = useDevice();
|
||||||
|
|
||||||
@@ -22,8 +24,9 @@ export const TraceRoute = ({
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="ml-5 flex">
|
<div className="ml-5 flex flex-col">
|
||||||
<span className="ml-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
|
<span className="ml-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
|
||||||
|
<p className="font-semibold">Route traced towards destination:</p>
|
||||||
{to?.user?.longName} ↔{" "}
|
{to?.user?.longName} ↔{" "}
|
||||||
{route.map(
|
{route.map(
|
||||||
(hop) =>
|
(hop) =>
|
||||||
@@ -31,6 +34,17 @@ export const TraceRoute = ({
|
|||||||
)}
|
)}
|
||||||
{from?.user?.longName}
|
{from?.user?.longName}
|
||||||
</span>
|
</span>
|
||||||
|
{routeBack ? (
|
||||||
|
<span className="ml-4 mt-4 border-l-2 border-l-backgroundPrimary pl-2 text-textPrimary">
|
||||||
|
<p className="font-semibold">Route traced back to us:</p>
|
||||||
|
{from?.user?.longName} ↔{" "}
|
||||||
|
{routeBack.map(
|
||||||
|
(hop) =>
|
||||||
|
`${nodes.get(hop)?.user?.longName ?? `!${numberToHexUnpadded(hop)}`} ↔ `,
|
||||||
|
)}
|
||||||
|
{to?.user?.longName}
|
||||||
|
</span>
|
||||||
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user