emNet Tail Tagging
embOS/IP Tail Tagging è un'estensione dello stack TCP/IP embOS/IP che supporta i dispositivi switch ethernet di Micrel/Microchip caratterizzati dalla presenza di più porte fisiche ethernet. L'idea è quella di gestire più porte fisiche ethernet pur utilizzando un microcontrollore dotato solamente di una singola porta MAC Ethernet. La porta Ethernet del microcontrollore è collegata allo switch che effettua routing dei pacchetti verso il microcontrollore e si preoccupa di aggiungere al payload delle informazioni per identificare correttamente il numero di porta fisica che ha ricevuto il pacchetto. embOS/IP è in grado di decodificare in modo corretto il flusso di dati.
Requisiti hardware
E' necessario integrare sulla propria scheda hardware un componente PHY della Micrel/Microchip che supporti la funzionalità di Tail Tagging.
Requisiti software
Per funzionare, la soluzione richiede lo stack TCP embOS/IP e un driver speciale per i fisici ethernet (PHY) della Micrel/Microchip che supportano il Tail Tagging.
Ricezione di un frame con Tail Tagging
Con il Tail Tagging, a ogni frame Ethernet ricevuto viene aggiunto un byte tra i dati Ethernet del frame e il checksum del frame stesso. Questo passaggio è "invisibile" per il controller Ethernet: il checksum del frame, che viene calcolato dal mittente sull'intera sequenza di dati Ethernet, viene modificato anche dal PHY per riflettere il checksum corretto dei dati Ethernet originali nel frame, più il byte che è stato aggiunto. Grazie al checksum corretto, il controller Ethernet non deve essere assolutamente a conoscenza del Tail Tagging. emNet può quindi estrarre dal byte di Tail Tagging l'informazione relativa alla porta da cui sono stati ricevuti i dati e assegnare il pacchetto alla corretta interfaccia di Tail Tagging nel sistema. In questo processo, il byte di Tail Tagging viene rimosso, lasciando solo i dati originali che possono poi essere trasferiti ai protocolli di livello superiore.
Trasmissione di un frame con Tail Tagging
Il processo di invio di un frame funziona in modo simile alla ricezione. Prima che il frame Ethernet venga messo in coda con il controller Ethernet per la trasmissione al PHY, un byte di Tail Tagging viene aggiunto alla fine dei dati da inviare (e prima del checksum del frame, se calcolato e aggiunto dal driver Ethernet stesso).
Questo byte contiene l'informazione relativa a quali porte PHY esterne il pacchetto deve essere consegnato e inviato alla rete.
L'intero processo è nuovamente invisibile al controller Ethernet, poiché esso è solo a conoscenza che i dati da inviare sono in totale un byte in più, come se un byte in più fosse stato inviato da un protocollo di livello superiore.