/var/log/syslog
<Timestamp> <Hostname> NSX 5024 FIREWALL [nsx@6876 comp="nsx-edge" subcomp="datapathd" s2comp="firewall" level="INFO"] [IDS]: ids_attr_cb : 0x<Hex value> adding attribute type 44 xtn id 0 xtn flag 1
VMware NSX-T 3.2
IDS/IPS wrongly classifies DHCP packets as an unknown protocol.
"type 47" is correct.
<Timestamp> <Hostname> NSX 4571 FIREWALL [nsx@6876 comp="nsx-edge" subcomp="datapathd" s2comp="firewall" level="INFO"] [IDS]: ids_attr_cb : 0x<Hex value> adding attribute type 47 xtn id 0 xtn flag 1
IDS/IPS buffers the content of such an unknown protocol until max_inspection_bytes_unknown reaches, and then packets bypass IDS/IPS.Resolved in NSX 4.1.
NSX 4.2 and later is recommended because it has a new engine of IDS/IPS on Edge.
As a workaround, you can configure the value of max_inspection_bytes_unknown on the Edge nodes.
To get the current value, invoke the command. The default value is 4096.
root@<Hostname>:~# edge-appctl -t /var/run/vmware/edge/dpd.ctl ids/getengineparams
{"ids_engine_profile":{"payloadsz": 8192,"inspectionsz": 8192,"unknownsz": 4096,"slowmatch": 1,"payloadeval": 1,"bypassunknown": 1,"combinationlogic": 0,"recursivematch": 1,"idsbypassclear": 0}}
If reduced to 1, DHCP clients get an IP address immediately.
root@<Hostname>:~# edge-appctl -t /var/run/vmware/edge/dpd.ctl ids/setengineparams unknownsz 1
{"result":"success"}
Note:
The workaround does not persist after reboot.