MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / formatInterfaceRole

Function formatInterfaceRole

web/scripts/ragnar_modern.js:8449–8460  ·  view source on GitHub ↗
(role)

Source from the content-addressed store, hash-verified

8447 }
8448 const [cls, label] = _BGP_VERDICT_STYLE[d.verdict] || _BGP_VERDICT_STYLE.unknown;
8449 let html = `<div class="mb-2 px-3 py-2 rounded border ${cls} text-sm">${label}</div>`;
8450 html += `<p class="text-xs text-gray-500 mb-2">Interface: ${escapeHtml(d.interface || '—')} · ${d.seconds}s · ${d.messages} BGP msgs (${d.updates} UPDATE @ ${d.update_per_s}/s, ${d.notifications} NOTIFICATION) · ${d.prefix_total} prefixes${d.learned ? ' · <span class="text-gray-400">baseline learned now</span>' : ''}</p>`;
8451 if (d.note) html += `<p class="text-xs text-gray-500 mb-2">${escapeHtml(d.note)}</p>`;
8452 if (d.enrich_note) html += `<p class="text-xs text-gray-500 mb-2">${escapeHtml(d.enrich_note)}</p>`;
8453 const asnNames = d.asn_names || {};
8454 if (d.peers && d.peers.length) {
8455 const tp = d.trusted_peers || [];
8456 html += `<p class="text-xs mb-1 text-gray-400">Peers: ` +
8457 d.peers.map(a => {
8458 const nm = asnNames[a] ? ` <span class="text-gray-500">(${escapeHtml(asnNames[a])})</span>` : '';
8459 return `<span class="font-mono ${tp.length && tp.indexOf(a) < 0 ? 'text-amber-300' : 'text-gray-200'}">AS${a}</span>${nm}`;
8460 }).join(', ') +
8461 ` · TCP-MD5: <span class="${d.md5 ? 'text-green-400' : 'text-amber-300'}">${d.md5 ? 'yes' : 'not seen'}</span></p>`;
8462 }
8463 (d.advisories || []).forEach(a => {

Calls

no outgoing calls

Tested by

no test coverage detected