# TP7.1 — SSDP-Relay VLAN10 <-> VLAN40 (macOS-Sonos-App) # # Laeuft auf LXC 108 "mcast-relay" (pve), zweibeinig: # eth0 = 10.40.10.21 (VLAN10/MAIN) eth1 = 10.40.40.21 (VLAN40/MEDIA) # Ablage im Repo: mcast-relay/multicast-relay.service # Ziel auf dem Container: /etc/systemd/system/multicast-relay.service # Ausrollen: scp … root@10.40.20.100:/tmp/ && pct push 108 /tmp/multicast-relay.service \ # /etc/systemd/system/multicast-relay.service && pct exec 108 -- systemctl daemon-reload \ # && pct exec 108 -- systemctl restart multicast-relay # # --noMDNS ist WICHTIG: mDNS reflektiert bereits der Core (TP7, mdns-repeat-ifaces). # Zweimal zu reflektieren erzeugt Duplikate und Schleifen. # # 🔴 KEIN --ssdpUnicastAddr (2026-08-25 ausgebaut, war seit 2026-08-18 drin und hat den # Hinweg blockiert). Die Flagge schreibt in multicast-relay.py Z. 630 die Quelle JEDES # SSDP-Pakets an 239.255.255.250:1900 auf die angegebene Adresse:1901 um — auch NOTIFY. # Beim Senden greift dann Z. 691: # if srcAddr == ssdpUnicastAddr and not onNetwork(srcAddr, tx['addr'], tx['netmask']): continue # 10.40.10.21 liegt nicht im VLAN40-Netz ⇒ die M-SEARCH der App wurde verworfen, BEVOR sie # die Player erreichte (Messung: 0 Pakete via eth1 / 308 via eth0 in 20 min, 0 "Received SSDP # Unicast" im ganzen Journal). Zusaetzlich ist der Rueckweg im Upstream nur EIN globaler # Merkslot (Z. 623 "FIXME: record more than one?"). # Ohne die Flagge relayt das Werkzeug quellerhaltend; die Player antworten unicast an den # echten Sucher und der Core routet das nativ zurueck — forward-Regel "TP5: MEDIA->MAIN" # ist offen (in=vlan40 out=vlan10, ohne Portfilter). [Unit] Description=TP7.1 SSDP-Relay vlan10 <-> vlan40 (macOS-Sonos-App) Documentation=docs/teilprojekte.md TP7.1 After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/bin/python3 /opt/multicast-relay/multicast-relay.py \ --interfaces eth0 eth1 \ --noMDNS \ --foreground --verbose Restart=always RestartSec=5 [Install] WantedBy=multi-user.target