Disclaimer: The fields marked with ? have not been verified.
Easy. I just changed the options on the web UI, downloaded the configuration file, see what changed. Rinse and repeat.
0x00 0x01 0x00 plus one byte that is the length of the field0x00-0x05: 0x46 0x4D 0x76 0x32 0x02 0x32 Header0x06-0x07: Checksum (?)0x08-0x18: QOS
0x08-0x0B: Field separator, length: 0x0D0x0C-0x0F: "qos" string0x10: bool flag: 0x01 -> 802.1p QoS, 0x00 port based QoS0x11-0x18: port priority. 0x11 -> port 1, 0x18 -> port 8. Entire range to 0x00 if [0x10] is 0x01
Priorities:
0x07: High0x05: Medium0x03: Normal0x01: Low0x19-0x61: Rate limiting
0x19-0x1C: Field separator, length: 0x450x1D-0x21: "rate" string, NULL terminated0x62-0x8F: Storm protection
0x62-0x65: Field separator, length: 0x2A0x6C-0x6F: 0xFF 0x00 0x00 0x00 (?)0x90-0xA4: Port mirroring
0x90-0x93: Field separator, length: 0x110x94-0x9A: "mirror" string0x9B-0xA2: 0x01 if we want to mirror this port, 0x00 otherwise0xA3: Destination port, 0 based (port 1 is 0x00, port 8 is 0x07)0xA4: 0x00 (?)0xA5-0x239: VLAN configuration
0xA5-0xA8: Field separator, length: 0x890xA9-0xAD: "vlan" string0xAE-0xAF: 0x04 0x00 (VLAN mode?)0xB0-0xB1: Number of VLANs0xB2-0xDC:
0x82 means that we're selecting ports 8 and 2)0x132-0x14A: PVID
0x132-0x135: Field separator, length: 0x150x136-0x13A: "pvid" string0x13B-0x14A: for each port, 2 bytes (LE) for the PVID0x14B-0x155: Multicast settings
0x14B-0x14E: Field separator, length: 0x070x14F-0x154: "mcast" string0x155: Block Unknown Multicast Address -> 0x01, else 0x000x156-0x167: IGMP snooping
0x156-0x159: Field separator, length: 0x0E0x15A-0x163: "igmpsnoop" string0x164: Enable IGMP snooping (0x01)0x165-0x166: VLAN id (LE)0x167: Validate IGMPv3 IP Header (0x01)0x168-0x182
0x168-0x16B: Field separator, length: 0x170x16C-0x175: "ethconfig" string0x176: Enable (0x01) static IP0x177-0x17A: IPv4 address (or 0x00 0x00 0x00 0x00 for DHCP)0x17B-0x17E: IPv4 netmask (or 0x00 0x00 0x00 0x00 for DHCP)0x17F-0x182: IPv4 gateway (or 0x00 0x00 0x00 0x00 for DHCP)0x183-0x1A4: Password (?)0x1A5-0x1ED: Device name
0x1A5-0x1A8: Field separator, length: 0x450x1A9-0x1AD: "name" string0x1AE-0x1C2: name (string)0x1EE-0x1FF: Registration
0x1EE-0x1F1: Field separator, length: 0x0E0xF2-0xFE: "registration" string0xFF: Boolean flag (?)0x200-0x20F: Loop detect
0x200-0x203: Field separator, length: 0x0C0x204-0x20E: "loopdetect" string0x20F: Boolean flag0x210-0x228: Misc
0x210-0x213: Field separator, length: 0x150x214-0x218: "misc" string0x219-0x228: 0x00 0x01 0x00 0x01 0x00 0x01 0x00 0x01 0x00 0x01 0x00 0x01 0x00 0x01 0x00 0x010x229-0x239: Toggle Plus utility
0x229-0x22C: Field separator, length: 0x0D0x22D-0x238: "plusutility" string0x239: 0x01 to disable the ProSafe utility, 0x00 to enable it