You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Christofer Dutz <ch...@c-ware.de> on 2021/12/11 14:42:20 UTC

[DSCUSS] Changing the "raw" transport...

Hi all,

I'm currently working on the Profinet driver. Unfortunately, this is a bit of a beast. The connection is established via TCP and then the transport is done via raw ethernet frames.

The current implementation of the raw-transport used to accept a device-name as argument. So, in general it doesn't allow connecting to anything as it only has its local "address". I would like to change this.
In this changed version, the raw-transport will accept: Ethernet MAC addresses, IP Addresses and hostnames. The procedure will then be as follows:


  *   Ethernet MAC Address: Send messages via all network devices and filter to those receiving response(s).
  *   IP Address: Use the IP settings to find all network devices able to reach that IP address. Send an ARP request to resolve the IP to a MAC address. Filter to those receiving response(s).
  *   Hostname: Use the Java Host-Resolution to get an IP address and then continue as with an IP address.

However, this would break the way the raw transport can be used for the proposed passive mode drivers. So, I would solve this by defining a new type of transport for these: "passive-raw" which interprets the device-name as "address" to select the device we want to listen for traffic on.

So, this is what I'll be working on now ...


Chris