I am reviewing the JNCIE-ENT self study bundle and am confused by some CoS configuration. The examples given guide the user through creating both dscp and ieee802.1p classifiers. Then they are instructed to apply the dscp classifiers to all L3 interfaces and apply the ieee802.1p classifiers to all L2 interfaces. The guide then goes on to apply the ieee802.1p classifiers to several access and trunk interfaces (so as instructed, all L2 iterfaces).
But an access interface will receive only untagged traffic, that traffic will not have any 802.1q header and no PCP bits. So I don't think a classifier based on iee802.1p will actually do anything. I have tested this in a lab and as I predicted the ieee802.1p classifier applied on the access interface does nothing. It is only when you change that interface to a trunk and tagged traffic sent to the interface that the classifier starts classifying traffic to the correct Queues. If I apply a dscp classifier on the access interface, it works as expected, classifying traffic based on the inbound dscp value.
Interestingly the default classifier applied to an access interface is ieee802.1p-untrust, which basically assigns all incoming frames with a pcp 0-7 to best-effort. But this doesn't make sense to me as the incoming traffic will not contain pcp bits. Could someone please clarify if a ieee802..1p classifier applied to a access interface serves any purpose??? if not then would it make far more sense to apply a dscp classifier, where it can be configured to trust the markings coming from the end device placing traffic in appropriate FCs, or simply bleach the traffic into a single FC and rewrite the dscp or pcp on exit?
Thanks in advance.