Ankündigung

Einklappen
Keine Ankündigung bisher.

how to solve "Packet not from" complaints in the log

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    how to solve "Packet not from" complaints in the log

    Hello,

    I run knxd on a raspberry pi with a Siemens N148/22 interface (connected with ipt: driver), linknx (connected with tcp server) and node-red knx-ultimate package (connected with tunnel server). knx-ultimate is configured to connect to interface 127.0.0.1 port 3671 (tunnel on loopback) using knx address 15.15.22 (the default, as apparently there is no way to make it use the address dynamically assigned by knxd).

    Everything seems to work, but knxd multicast router (which is not used, but started in the configuration) often complains that packets actually coming from ipt: interface and tcp server do not come from the respective interfaces. I believe it is a configuration issue and I would like to understand and solve it, to increase my knowledge.

    my knxd.ini is as follows:
    ----------------------------------
    [A.tcp]
    systemd-ignore = true
    server = knxd_tcp
    filters = queue

    [B.ipt]
    ip-address = 10.0.0.2
    driver = ipt
    filters = B.ipt_single,queue,B.ipt_retry

    [B.ipt_single]
    filter = single
    address = 1.1.60

    [B.ipt_retry]
    filter = retry
    max-retries = 0
    may-fail = true

    [C.server]
    interface = localhost
    discover = true
    tunnel = C.server_tunnel
    router = C.server_router
    server = ets_router

    [C.server_tunnel]
    filters = queue

    [C.server_router]
    filters = queue,pace

    [main]
    addr = 15.15.1
    client-addrs = 15.15.2:10
    cache = group_cache
    connections = A.tcp,B.ipt,C.server
    systemd = systemd
    debug = main_debug

    [main_debug]
    name = main:knxd
    error-level = 6
    trace-mask = 0xffe

    [systemd]
    debug = systemd-debug
    filters = log

    [systemd-debug]
    error-level = 6
    trace-mask = 0xffe

    ​----------------------------------
    and this is an excerpt of the log: a packed coming from node-red knx-ultimate (15.15.22) via the tunnel server causes the complaint. Same situation happens with packets coming from the N148/22 interface via ipt: driver.

    ----------------------------------
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 8 [57:C.server_tunnel/15.15.6 622368.376] TUNNEL_REQ
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 8 [56:C.server_tunnel/ConnC 622368.376] found addr 15.15.22
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 1 [26:C.server/server 622368.377] Send(004): 04 01 40 00
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [81:systemd_/ConnS 622368.377] sending, send_more clear
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 0 [83:log/systemd_ 622368.377] Send L_Data low from 15.15.22 to 7/0/15 hops: 05 T_Data_Group A_GroupValue_Writ
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 7 [79:systemd_/CConn 622368.377] Recv(003): 00 80 5B
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [83:log/systemd_ 622368.377] send next
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [81:systemd_/ConnS 622368.377] sendNext called, send_more set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 1:main/main:knxd 622368.377] sending set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [36:C.server_router/ConnC 622368.377] sending, send_more clear
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [36:C.server_router/ConnC 622368.377] sendNext called, send_more set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 1:main/main:knxd 622368.377] sending set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 4:group_cache/Conn 622368.377] sending, send_more clear
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 4:group_cache/Conn 622368.377] sendNext called, send_more set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 1:main/main:knxd 622368.377] sending set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [21:B.ipt/Conn 622368.377] sending, send_more clear
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [21:B.ipt/Conn 622368.377] sendNext called, send_more set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 1:main/main:knxd 622368.377] sending set
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [81:systemd_/ConnS 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [56:C.server_tunnel/ConnC 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [36:C.server_router/ConnC 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 6:systemd_/systemd 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [11:systemd_/systemd 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [16:A.tcp/inet 622368.377] not up
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 4:group_cache/Conn 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [21:B.ipt/Conn 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [26:C.server/server 622368.377] is OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 1:main/main:knxd 622368.378] OK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 6 [ 2:main/L 622368.378] OK L
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 1 [26:C.server/server 622368.378] Send(016): 04 01 43 00 2E 00 BC E0 FF 16 38 0F 02 00 80 5B
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 1 [26:C.server/server 622368.378] Send(012): 29 00 BC D0 FF 16 38 0F 02 00 80 5B
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 2 [39ace/C.server_router 622368.378] out 1/3: delay for 0.018 sec
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 1 [22:B.ipt/ipt 622368.378] SendTunnel(016): 04 49 8A 00 11 00 BC D0 11 3C 38 0F 02 00 80 5B
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 1 [22:B.ipt/ipt 622368.378] Send(016): 04 49 8A 00 11 00 BC D0 11 3C 38 0F 02 00 80 5B
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 8 [56:C.server_tunnel/ConnC 622368.378] found addr 15.15.22
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 3 [36:C.server_router/ConnC 622368.379] Packet not from 56:C.server_tunnel: L_Data low from 15.15.22 to 7/0/15 hops: 05
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 8 [57:C.server_tunnel/15.15.6 622368.380] TUNNEL_ACK
    Feb 10 02:42:12 raspberrypi knxd[686]: Layer 2 [39ace/C.server_router 622368.396] in 1/3 0.015000/0.001000/0.750000: delay more, for 0.013 sec

    ​----------------------------------
    can somebody help me to understand

    many thanks
    best
    Stefano

    #2
    I did some digging into the code, to understand where the log message comes from. I understood that the router saw the packets coming from an intrerface which was different from that the packet actually came from (perhaps might have been the router itself), apparently due to an accidental loopback among the interfaces.

    Consider that I am binding the ets_router server to the loopback interface, as I have the client (=knx-ultimate) running on the same machine.

    I solved the issue by changing the interface = loopback in the [C.server] section (which was perhaps a silent error) to interface = lo
    I also added a static route, routing the multicast messages thru the loopback interface:

    ip route add 224.0.0.0/16 dev lo

    the "Packet not from" messages have since disappeared and knx-ultimate can connect to knxd both via tunnel server and via multicast server
    I hope that this explanation might be useful to somebody

    best
    Stefano

    Kommentar

    Lädt...
    X