In my studying I have been instructed that in order to pass Vlan traffic between 2 devices you need a L2 trunk and if you want to pass L3 data you need a routed link. I have also been instructed that L3 data doesn't pass over L2 trunks and vice versa. I was recently working with another engineer and he proposed that I can pass L3 and L2 data over the same link using a L2 port channel. Is this true? I am asking because it goes against what I have been taught. Can someone shed some light on this for me. Thanks.
I think it is the terminology that is a little confusing here.
If you connect your 2 switches with a L2 trunk then
1) You can pass vlan traffic across the trunk link. So vlan 10 on sw1 is the same as vlan 10 on sw2.
2) You can pass vlan traffic from one vlan to another ie.
vlan 10 on sw1
vlan 20 on sw2
As long as both vlans are allowed on the L2 trunk packets arriving on sw1 from vlan 10 can be routed on sw1 onto vlan 20 and then switched across the L2 trunk link to the destination in vlan 20.
Again this assumes that vlans 10 & 20 are the same on both switches.
3) Routing protocol information can pass along the L2 link ie vlan 10 on sw1 can form an EIGRP neighborship with vlan 10 on sw2.
All of the above is possible with a L2 link.
If you connect the 2 switches up with a L3 connection only then vlan 10 on sw1 is not the same vlan as vlan 10 on sw2 and you cannot use the same IP subnet for vlan 10 on both switches if you wanted the vlans to communicate.
You can run multiple links as you say but a single link cannot be both L2 and L3.
Hope this makes sense.