Basics
When you tag a VLAN on a port, it will send out the traffic on that port with the VLAN tag, when the port receives traffic it looks for the tag and places the traffic into that VLAN. You can have multiple tagged VLANs on one port (sometimes called trunk).
When you send out a VLAN untagged on a port it will not add the VLAN tag to the packet and when receiving packets without a VLAN tag it will be placed into that VLAN (on Netgear and others you have to set PVID (Primary VLAN ID))
To your problem
I think you are not far away...
- Router port connected to Switch1 should have IP within VLAN 2220.
- DHCP Server should have different IP from different Subnet!
- Router port Connected to Switch2 should have IP in Subnet of DHCP Server
- You should define a DHCP Helper on Router port connected to Switch1 so DHCP Request get forwarded to DHCP Server. Hot to do that is described here: http://kb.netgear.com/app/answers/detail/a_id/21990/~/how-do-i-configure-a-dhcp-l3-relay-using-the-web-interface-on-my-managed-switch%3F
Hope this helps you a little bit further. If not, please post a more detailed network diagram with VLAN IDs and IPs.
The non-Cisco switch will be running MST if it is using Rapid STP. You need to make sure your Cisco switches are also running MST, not the default PVST+ or Rapid PVST+. You need to run the same STP version on all the connected switches for STP to work correctly.
Once you fix all that, make sure that the native VLANs on each end of a link are the same. Cisco switches will use CDP to verify this, but your non-Cisco switch probably doesn't have CDP, so it may ignorant of the mismatch.
EDIT per the comment:
Different versions of STP use different BPDUs to establish the root switch and root ports. Cisco PVST+ (including Rapid PVST+) uses a separate STP instance for each VLAN, while MST uses one instance of STP for each user-defined group of VLANs, and, unless you take pains to do this, the two STP versions probably won't match in this regard. When mixing the two, it is normally best to use MST, and correctly match the VLANs to the STP groups. This works well, but it is certainly more work than using the Cisco STP version everywhere.
It is possible to interoperate the two versions, but it can be difficult to get it right so that the root and root ports are correctly identified on each switch in the layer-2 domain. Having inconsistent root switches and root ports can cause STP loops resulting in broadcast storms which can bring down the entire layer-2 domain.
It is much easier to use a single STP version across all your switches, and, unfortunately for added complexity, that would probably be be MST when mixing Cisco and non-Cisco switches.
Best Answer
CDP frames can be sent tagged or untagged. I think it is better for you to read directly from the linked CIsco tech note that explains the behavior pretty well and is specifically written for your scenario - a switch sending traffic to a router using sub-interfaces.
https://www.cisco.com/c/en/us/support/docs/network-management/discovery-protocol-cdp/118736-technote-cdp-00.html
To summarize though, in order to satisfy the Stack Exchange requirement for post,
Important
The behavior of CDP can be very different depending on which software platform (IOS, IOS-XE, IOS-XR, NX-OS etc ..) you are running. The Cisco document linked above is for general purpose routers and switches running IOS.
Summary
Common behavior for both types of devices (switches and routers) is that CDP always chooses the lowest VLAN to send CDP packets. Whether it is tagged depends on configuration on either devices.
Switches always use VLAN 1 to send CDP packets since VLAN 1 can not be removed from the VLAN database. If you have not changed the native VLAN for that trunk port then the CDP packet will be sent untagged. If you have changed the native VLAN on the trunk port then the switch will send the CDP packets tagged on VLAN 1.
Routers will use the lowest VLAN configured on a sub-interface (that is in the Up state) to send the CDP packets with the following exception. If there is no sub-interface for VLAN 1 the router will use the primary interface to send CDP packets. It uses the main interface since it is in VLAN 1 by default and VLAN 1 is considered the native VLAN on the router.
The CDP packets in this default situation are sent untagged.
Changes and Affects
If you create a sub-interface for VLAN 1 on the router and then shut it down the router will send the CDP packets on the next lowest VLAN - they will be tagged since the native VLAN on the router is still VLAN 1. The switch will receive the CDP packets from the router but because you disabled the router's VLAN 1 sub-interface, the router will drop the incoming CDP packets since the interface it sends all untagged frames to is shut down.
If you then change the native VLAN on the router from VLAN 1 to the lowest VLAN sub-interface, the CDP packets sent by the router would be expected to be untagged but this is incorrect - they will still be tagged. Whether this is a design feature or a bug in the IOS, a router will send CDP packets tagged from a sub-interface if it is configured with any VLAN that is not 1, even if you have configured the VLAN as native. The router will receive the untagged CDP packets coming from the switch though, since there is now a configured sub-interface in the up state that is set as the native VLAN. From a Security standpoint you would not want to change the native VLAN on a router to be a sub-interface used for data traffic. You could create one just for CDP but I do not see the benefit of moving CDP off of VLAN 1 on the router.
A few points to remember.
Fixing your issue
In your case it is because someone created a sub-interface on the router for VLAN 1 and shut it down, probably because they though it would make the network more secure - it doesn't. You should always have a manually configured VLAN allowed list on a switch trunk port when the connected device is a router (without the native VLAN 1 in that allowed list).