Code Monkey home page Code Monkey logo

oam-ip-router's Introduction

oam-ip-router's People

Contributors

ing-dom avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

betamoojw

oam-ip-router's Issues

Update über ETS

Wenn ich die neuste Version der Applikation lade und in die ETS importiere, bekomme ich keine zweite Applikation im Katalog angezeigt. Es bleibt bei 2.12 oder 0.1.
Wurde die neue Versionsnummer in der neuen Version vielleicht vergessen?

Und ist ein Update über die ETS überhaupt möglich?

Weitergeleitete Telegramme werden nicht geacked

Waldemar (mumpf)
01:12 Uhr
Hmm, was der joeknx123 zum Router geschrieben hat, hört sich ganz nach fehlendem ACK an. Er hat alles auf Durchzug, damit müsste jedes weitergeleitete Telegramm bestätigt werden. Damit sollte es keine Wiederholungen auf TP-Seite geben.
Ich weiß nicht, wie gut Dein Algorithmus für "nur weitergeleitete Telegramme bestätigen" ist, aber Du könntest bei "alle weiterleiten" auf jeden Fall auch intern als "alle Bestätigen" interpretieren.

Ing-Dom (Dominik)
01:15 Uhr
https://github.com/OpenKNX/knx/blob/rp2040_ip_routing_debugCemiFrame/src/knx/bau091A.cpp#L161-L217

bau091A.cpp
TPAckType Bau091A::isAckRequired(uint16_t address, bool isGrpAddr)
{
//only called from TpUartDataLinkLayer
TPAckType ack = TPAckType::AckReqNone;

Mehr anzeigen
https://github.com/[OpenKNX/knx](https://github.com/OpenKNX/knx)|OpenKNX/knxOpenKNX/knx | Hinzugefügt von GitHub

01:17 Uhr
hmmmm
01:18 Uhr
das könnte sein

Waldemar (mumpf)
01:19 Uhr
Da wird doch nur in die Filtertabelle geschaut...

Ing-Dom (Dominik)
01:20 Uhr
wenn "nur weitergeleitete Telegramme bestätigen" ausgewählt ist, prüft er die Filtertabelle. Da ist es aber ggf nicht drin, wenn die gruppentelegramme gar nicht gefiltert werden
01:21 Uhr
die Fallunterscheidung hatte ich nicht am Schirm. Die muss da wohl noch rein

Waldemar (mumpf)
01:21 Uhr
Aber bei "alles Weiterleiten" reicht da nicht, oder? Ich bin mir sicher, dass er nicht "alle Gruppentelegramme bestätigen" angekreuzt hat. Das könnte man ihm als Workaround vorschlagen.

Ing-Dom (Dominik)
01:22 Uhr
so wie es aktuell implementiert ist leitet er die telegramme zwar weiter, acked sie aber nicht
01:22 Uhr
das entspricht nicht der Erwartung und ist auch wenig sinnvoll..

Telegramm-Duplizierung im Tunnelmodus

vor 11 Tagen
Haben die Ursache von Roberts Problem gefunden.
Da ist wohl noch eine Rückkopplung der Telegramme, die werden ja dann per Routing auch weitergeleitet (wenn auf weiterleiten eingestellt) und das führt dazu, dass das selbe Telegramm nochmal mit HopCount=5 im Tunnel auftaucht...
@Ing-Dom (Dominik)
hast du auf die schnelle ne Idee warum das Routing nochmal iwie den Eingang des Telegrams triggert oder so?
25 Antworten
vor 11 Tagen
kannst du mir das ggf etwas detailierter beschreiben?
richtung des telegramms, wo kommts rein / geht aus, broadcast, unicast, multicast etc..
vor 11 Tagen
Die #9:63 ist die erste korrekte Antwort, vom Geräte. Also TP->IP
Danach kommt das Routing Indication Telegram. Soweit korrekt.
Danach wird die Antwort aber nochmal gesendet mit einem verringerten HopCount #9:64
image
vor 11 Tagen
Sobald man physikalisch Adressierte Telegramme filtert, ist das Problem weg.
vor 11 Tagen
es kommt also ein unicast telegram von der tp linie an den tunnel? und der router sendet es zusätzlch per routing?
vor 11 Tagen
Und danach kommt es nochmal per Tunneling mit HopCount=5
vor 11 Tagen
das erste senden ist korrekt, sofern die einstellung für unicast TP>>IP auf "weiterleiten" steht
vor 11 Tagen
Das erste ist ja Tunneling: korrekt
Das zweite Routing: korrekt da weiterleiten drin war
Das dritte ist falsch: da HopCounter geringer
vor 11 Tagen
ok, verstanden. wo klinkst du dich mit dem tunnel ein für eingehende pakete?
vor 11 Tagen
Das frameReceived vom DataLinkLayer
vor 11 Tagen
https://github.com/Ing-Dom/knx/blob/rp2040_eth_tunneling/src/knx/data_link_layer.cpp#L116
data_link_layer.cpp

_cemiServer->dataIndicationToTunnel(frame);

https://github.com/Ing-Dom/knx|Ing-Dom/knxIng-Dom/knx | Hinzugefügt von GitHub
vor 11 Tagen
das sollte ok sein,
ABER:
du rufst dataIndicationToTunnel auch im sendTelegram https://github.com/Ing-Dom/knx/blob/rp2040_eth_tunneling/src/knx/data_link_layer.cpp#L195und wenn der network layer das tp telegramm bekommt und beschließt ich muss das routen ruft er ja die sendtelegram vom (ip)datalinklayer auf.
data_link_layer.cpp

_cemiServer->dataIndicationToTunnel(tmpFrame);

https://github.com/Ing-Dom/knx|Ing-Dom/knxIng-Dom/knx | Hinzugefügt von GitHub
vor 11 Tagen
und dann haste es doppelt
vor 11 Tagen
mit hop-count -1 weil es war ja schon geroutet
vor 11 Tagen
Ah okay. das kommt tatsächlich nicht von mir. Das war schon vorher drin für das USB ding.
vor 11 Tagen
bzw sogar für rf... https://github.com/Ing-Dom/knx/blob/master/src/knx/data_link_layer.cpp#L156
vor 11 Tagen
ich denke auch dass man es ggf braucht
vor 11 Tagen
z.B. wenn der router selbst der sender ist
vor 11 Tagen
Dann müsste man das iwie abfragbar machen
vor 11 Tagen
wie wäre mit einem
pseudocode:

if(src.addr == ownaddr)
_cemiServer->dataIndicationToTunnel(tmpFrame);

vor 11 Tagen
Theoretisch müsste ich ja abfragen, ob der Empfänger eine Tunnel Adresse ist.
Wenn ja, muss das Telegramm ja auch nicht auf TP.
vor 11 Tagen
stimmt bei unicast sind sender und empfänger genau bekannt

Falsche Tunnel-PAs

Der Router verwendet nicht die über ETS zugewiesenen Tunnel-PAs sondern die eigene PA + 1 bis 4.

NAT-Modus der ETS funktioniert nicht

Wenn man in der ETS den NAT-Modus aktiviert (manuelle Konfiguration der Schnittstelle), dann funtionert die Tunneverbindung nicht mehr.
image

Gruß, Waldemar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.