You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by ld...@apache.org on 2021/03/29 11:56:23 UTC
[plc4x] 03/04: Add more PN_DCP constants without implementation
This is an automated email from the ASF dual-hosted git repository.
ldywicki pushed a commit to branch feature/profinet2
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit efaff9e793c0d91982144441192ed5867ef99feb
Author: Adi <ad...@gmail.com>
AuthorDate: Fri Mar 26 17:51:22 2021 +0100
Add more PN_DCP constants without implementation
From https://github.com/dark-lbp/isf/blob/master/icssploit/protocols/pn_dcp.py
and https://rt-labs.com/docs/p-net/profinet_details.html#dcp-protocol-via-ethernet-layer-2
---
.../protocols/profinet/profinet.dcp.mspec | 51 ++++++++++++++++++++--
1 file changed, 48 insertions(+), 3 deletions(-)
diff --git a/protocols/profinet/src/main/resources/protocols/profinet/profinet.dcp.mspec b/protocols/profinet/src/main/resources/protocols/profinet/profinet.dcp.mspec
index fb0595d..d202968 100644
--- a/protocols/profinet/src/main/resources/protocols/profinet/profinet.dcp.mspec
+++ b/protocols/profinet/src/main/resources/protocols/profinet/profinet.dcp.mspec
@@ -106,12 +106,44 @@
[padding uint 8 'pad' '0x00' 'length % 2']
]
-
[enum uint 8 'DCPBlockOption'
['0x01' IP ]
['0x02' DEVICE_PROPERTIES ]
+ ['0x03' DHCP ]
+ // TODO implement DCPBlockOption case
+ ['0x05' CONTROL ]
+ ['0x06' DEVICE_INACTIVE ]
['0xFF' ALL_SELECTOR ]
]
+// TODO implement DCPBlockOption case
+[enum uint 8 'ControlOption'
+ ['0x00' RESERVED ]
+ ['0x01' START_TRANSACTION ]
+ ['0x02' END_TRANSACTION ]
+ ['0x03' FLASH_LED ]
+ ['0x04' RESPONSE ]
+ //Reset Factory Settings (0x05)
+ ['0x05' FACTORY_RESET ]
+ ['0x06' RESET_TO_FACTORY ]
+]
+// TODO implement DCPBlockOption case
+[enum uint 8 'DeviceInactiveOption'
+ ['0x00' RESERVED ]
+ ['0x01' DEVICE_INITIATIVE ]
+]
+
+// Not implemented yet! Vars from https://github.com/dark-lbp/isf/blob/master/icssploit/protocols/pn_dcp.py
+[enum uint 8 'DHCPOptions'
+ ['0x0c' HOST_NAME ]
+ ['0x2b' VENDOR_SPECIFIC ]
+ ['0x36' SERVER_IDENTIFIER ]
+ ['0x37' PARAMETER_REQUEST_LIST ]
+ ['0x3c' CLASS_IDENTIFIER ]
+ ['0x3d' DHCP_CLIENT_IDENTIFIER ]
+ ['0x51' FQDN_FULLY_QUALIFIED_DOMAIN_NAME ]
+ ['0x61' UUID_GUID_BASED_CLIENT ]
+ ['0xFF' CONTROL_DHCP_FOR_ADDRESS_RESOLUTION ]
+]
[enum uint 8 'DevicePropertiesSubOption'
['0x01' STATION_TYPE ]
@@ -119,15 +151,22 @@
['0x03' DEVICE_ID ]
['0x04' DEVICE_ROLE ]
['0x05' DEVICE_OPTIONS ]
+ ['0x06' ALIAS_NAME ]
['0x07' DEVICE_INSTANCE ]
+ ['0x08' OEM_DEVICE_ID ]
]
[enum uint 8 'IpSubOption'
+ ['0x00' RESERVED ]
+ ['0x01' MAC_ADDRESS ]
['0x02' IP_PARAMETER ]
]
[enum uint 8 'DCPServiceID'
- ['0x05' IDENTIFY]
+ ['0x03' GET ]
+ ['0x04' SET ]
+ ['0x05' IDENTIFY ]
+ ['0x06' HELLO ]
['0xFEFE' IDENTIFY_RESPONSE ]
]
@@ -164,4 +203,10 @@
'STATIC_CALL("org.apache.plc4x.java.profinet.dcp.DCPUtil.writeString", io, _value, _type.encoding)'
'STATIC_CALL("org.apache.plc4x.java.profinet.dcp.DCPUtil.length", text)'
]
-]
\ No newline at end of file
+]
+
+[enum uint 16 'TypeLAN'
+ ['0x8100' VLAN ]
+ ['0x8892' PN_DCP ]
+ ['0x88CC' LLDP ]
+]