Daten an mehrere Schnittstellen gleichzeitig verschicken
-
Hallo an Euch,
ich habe eine Frage die mir unter den Nägel brennt:
Ist es möglich, mit C Daten GLEICHZEITIG an ZWEI Netzwerk-Schnittstellen zu versenden?Der Hintergrund:
Wir benötigen den Versand von Heartbeat-Telegrammen eines Embedded-Devices worauf Linux 2.6.18 läuft, über BEIDE Netzwerkschnittstellen. (Redundantes Sicherheitskonzept).Die NIC 1 ist Breitbandseitig angebunden, die 2 Schnittstelle kommt von pppd über ein GPRS-Modem.
Unser Entwicklungsleiter meint, dass es mit C nicht möglich ist zu bestimmen, wo der Traffic raus geht - sondern das Routing über die Routing-Tables des Linux geht, worauf wir keinen Einfluss haben.
Damit gehen die Daten immer übers Default-GW raus!Kann man dies irgendwie lösen?
Wie müsste der Dämon geschrieben werden, um beide Schnittstellen zu beschicken?Da diese Lösung ESSENTIELL für den Fortschritt des Projektes ist, bitte ich euch um Ideen und vielleicht Lösungen!?!?!?
10000 DANK an euch.
lg
herrmax
-
Hm, ohne mich auf dem Gebiet auszukennen, aber ist sowas nicht etwas, wo man den Hersteller der Karten kontaktiert, ob es da ein Treiberinterface gibt, mit dem man die Karten direkt ansprechen kann?
-
Das hat mit C gar nichts zu tun (damit geht es natürlich), Du wirst Dich durch die Tiefen der Linux- API wühlen müssen. Je nachdem, wie die Telegramme auzusehen haben (TCP oder UDP or whatever) aussuchen, an welcher Stelle Du zugreifst.
Schlimmstenfalls kan man sogar nackige Ethernetframes schicken, aber da wär' ich jetzt bereits schwer überfordert.Nur leider falsches Forum hier dafür.
-
Danke mal für euer Feedback.
Klingt alles etwas aufwändiger wie ihr das so schildert.
Die Aufgabe ist, der Versand von Telegrammen über UDP in der Größenordnung < 400Byter!! Also minimal. Es geht lediglich um die Überwachung von Peripherie im Feld.
Warum im C-Forum: Ich bin davon ausgegangen, dass es möglich ist, eine Schnittstelle im C ansprechen zu können - so wie bind() an einen Socket bindet, dachte ich, könnte man auch den Dämon ausgehend an einen Schnittstelle binden.
Falsch gedacht?
Keine Idee wie ich das lösen könnte?
Vielleicht ist das wirklich keine Frage des C-Dämon-Designs - sondern ein Linux-thema?Bitte euch nochmals kurz um Hilfe.
Danke euch.
lg
herrmax
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.