Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

GRE tunnel doesn't copy original TOS header


I have packet captured showing all of my GRE packets with an IP PREC of zero, and the internal header marked IP Prec 5. Every document I've read states GRE copies the internal header upon encapsulation. I've removed every QOS except the LAN inbound policy (which sets the IP PREC on the inbound LAN side of the router). The router on the other side is a 3745. Same thing happens. Internal header correct (5), external GRE wrong (0).

Any idea why GRE encapsulation isn't using the same IP PREC setting as the internal packet? Am I missing something?

I can post my configuration, but there isn't anything special about it. It works fine except the external GRE header having a 0 IP Prec.

Please help !



Re: GRE tunnel doesn't copy original TOS header

Hello Gary,

as a workaround you can set the precedence on the output interface based on the input precedence before encapsulation manually.


class-map VoIP

match ip precedence 5

class-map VoIPsignal

match ip precedence 3

policy-map OUT

class VoIP

priority percent 20

set ip precedence 5

class VoIPsignal

bandwidth remaining percent 5

set ip precedence 3

class class-default



Interface Tunnel1


qos pre-classify

interface Ethernet0


service-policy output OUT

This should achieve the desired behaviour. The qos pre-classify command does keep a copy of the original header to use it in the output policy.

Hope this helps


New Member

Re: GRE tunnel doesn't copy original TOS header

I'm 95% sure I tried that already. I made several changes to the QOS policy (pre classify, no pre classify, applied to tunnel interface, applied to output interface).

Its my understanding that by default the GRE process should copy the internal header. If that is try, why doesn't it "just work"?


Re: GRE tunnel doesn't copy original TOS header

Yes default behaviour is to copy. 2 Reasons i can think of

a) The incoming packet itself doesnt have the ToS set

b) THe IOS is so old that it doesnt support the copying of the ToS byte.

CreatePlease login to create content