I am kind of confused about native vlan and what is it for. Can anyone offer me some quick explanation? Thanks
The native vlan is the vlan for which packets are sent untagged across a trunk link. So if vlan 10 is your native vlan (and you can set the native vlan to any vlan you choose) then any packets for any vlan other than vlan 10 will have an 802.1q tag when it sent across the trunk link.
Packets in vlan 10 however will not have an 802.1q tag.
It is there for backward compatability with non 802.1q switches so they can still interoperate.