Network-byte-order auf der MAC-Adresse

Arbeite ich an einem code, der verlangt von mir zu analysieren, einen eingehenden Rahmen, die ich in form von uint8_t * Zeiger.

Ich geschrieben habe, eine utility-Methode zum abrufen der mac-Adresse von dem Bild und wandeln es in uint64_t Wert für einfache Berechnungen.

uint64_t addr = uint64_t(_frm_ptr[0]) << 40 | uint64_t(_frm_ptr[1]) << 32 | 
                       uint64_t(_frm_ptr[2]) << 24 | uint64_t(_frm_ptr[3]) << 16 | 
                       uint64_t(_frm_ptr[4]) << 8 | uint64_t(_frm_ptr[5]);

Brauche ich, um zu wissen, dass, wenn die Quell-mac-Adresse wurde sagen "b8:ac:6f:c0:3d:25" auf einer big-endian-format, wird es übertragen werden in der gleichen Reihenfolge ?

Wie wird die mac-Adresse übertragen auf ein Netzwerk ?

Wird die obige code-snippet, die auf allen Plattformen funktioniert ?

  • Beziehen Sie Ihre 1. Frage: Nur das senden software weiß was bringt es auf den Draht, und ob es buggy ist und sendet verschiedene bytes Aufträge abhängig von der hardware auf dem es läuft.
InformationsquelleAutor Dexter | 2013-07-01
Schreibe einen Kommentar