1 diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py
2 index 03b80ec..a7e1e0f 100644
3 --- a/scapy/layers/inet6.py
4 +++ b/scapy/layers/inet6.py
5 @@ -3722,6 +3722,7 @@ conf.l2types.register(31, IPv6)
7 bind_layers(Ether, IPv6, type = 0x86dd )
8 bind_layers(CookedLinux, IPv6, proto = 0x86dd )
9 +bind_layers(GRE, IPv6, proto = 0x86dd )
10 bind_layers(IPerror6, TCPerror, nh = socket.IPPROTO_TCP )
11 bind_layers(IPerror6, UDPerror, nh = socket.IPPROTO_UDP )
12 bind_layers(IPv6, TCP, nh = socket.IPPROTO_TCP )
13 diff --git a/scapy/layers/l2.py b/scapy/layers/l2.py
14 index 4f491d2..661a5da 100644
15 --- a/scapy/layers/l2.py
16 +++ b/scapy/layers/l2.py
17 @@ -628,7 +628,7 @@ bind_layers( CookedLinux, EAPOL, proto=34958)
18 bind_layers( GRE, LLC, proto=122)
19 bind_layers( GRE, Dot1Q, proto=33024)
20 bind_layers( GRE, Dot1AD, type=0x88a8)
21 -bind_layers( GRE, Ether, proto=1)
22 +bind_layers( GRE, Ether, proto=0x6558)
23 bind_layers( GRE, ARP, proto=2054)
24 bind_layers( GRE, EAPOL, proto=34958)
25 bind_layers( GRE, GRErouting, { "routing_present" : 1 } )