I have subnetted a class B address space (172.16.0.0 /16) into class C subnets. I have created VLANs for each subnet and SVI's for each VLAN.
InterVLAN routing works fine, with one exception. The end users had been previously setup to use a subnet mask of 255.255.0.0 (the network was using a flat 172.16.0.0 address space). Since I subnetted, the end users didn't have to change their subnet mask or gateways.
On the core switch my SVI's look like this.
Interface Vlan 5
ip address 172.16.5.1 255.255.255.0
Interface Vlan 6
ip address 172.16.6.1 255.255.255.0
Each access layer switch has the associated vlan in its database and is trunking to the core perfectly.
So why can a user in vlan 5, use the vlan 6 SVI IP address as a gateway address and talk to the rest of the network?
What Rick said, sorry I went to bed after I made the 1st post...
If you disable proxy-arp on the SVI (or on any Layer-3 interface) then the router will stop responding to ARP's except it's own (except obviously where HSRP, GLBP or VRRP are used, however they are not really proxy-arps).