Netdev List
 help / color / mirror / Atom feed
* [PATCH] if_ether.h: add 802.1AC, warn about GRE 0x00FE
@ 2026-06-05 16:41 David 'equinox' Lamparter
  2026-06-09  2:30 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 2+ messages in thread
From: David 'equinox' Lamparter @ 2026-06-05 16:41 UTC (permalink / raw)
  To: netdev
  Cc: David 'equinox' Lamparter, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski

Because LLC wasn't complicated/annoying enough, there's 2 more
"ethertypes" being used for it:

- 0x8870 is pretty "normal", it got standardized in
  802.1AC-2016/Cor1-2018 for transporting LLC frames > 1500 bytes.
  It simply replaces the length value (which is no longer encoded, and
  must now be derived from the packet.)  The actual value dates back to
  2001; https://datatracker.ietf.org/doc/html/draft-ietf-isis-ext-eth-01
  (it was used without "proper" standardization for a long time)

- 0x00fe is a doozy - actually "invalid" depending on how you look at
  it; it's used in GRE (and possibly GENEVE) tunnels to transport the
  IS-IS routing protocol.  https://seclists.org/tcpdump/2002/q4/61 is
  the best/oldest source I could find.  It's inspired by the 0xfe SAP
  value, a GRE packet with protocol 0x00fe is followed by a payload "as
  if" it was Ethernet with "<length> 0xfe 0xfe 0x03".  (Again the length
  isn't encoded explicitly anymore.)

The 0x00fe value is quite close to other values the kernel is using
internally for various things (after all they "won't clash for 1500
types").  Except this one does clash, and if someone unknowingly starts
using it for something internal... we end up in a world of pain in
getting IS-IS running on GRE tunnels.  Hence the "WARNING".

Signed-off-by: David 'equinox' Lamparter <equinox@diac24.net>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: David S. Miller <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
---
 include/uapi/linux/if_ether.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/uapi/linux/if_ether.h b/include/uapi/linux/if_ether.h
index fb5efc8e06cc..1ffac52c39df 100644
--- a/include/uapi/linux/if_ether.h
+++ b/include/uapi/linux/if_ether.h
@@ -82,6 +82,7 @@
 #define ETH_P_PPP_DISC	0x8863		/* PPPoE discovery messages     */
 #define ETH_P_PPP_SES	0x8864		/* PPPoE session messages	*/
 #define ETH_P_LINK_CTL	0x886c		/* HPNA, wlan link local tunnel */
+#define ETH_P_8021AC	0x8870		/* 802.1AC LLC > 1500 bytes     */
 #define ETH_P_ATMFATE	0x8884		/* Frame-based ATM Transport
 					 * over Ethernet
 					 */
@@ -164,6 +165,10 @@
 #define ETH_P_MCTP	0x00FA		/* Management component transport
 					 * protocol packets
 					 */
+#define ETH_P_GRE_OSI	0x00FE		/* GRE tunnels: LLC "fe fe 03" analog,
+					 * used primarily for IS-IS over GRE
+					 * WARNING: not internal, used on wire!
+					 */
 
 /*
  *	This is an Ethernet frame header.
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] if_ether.h: add 802.1AC, warn about GRE 0x00FE
  2026-06-05 16:41 [PATCH] if_ether.h: add 802.1AC, warn about GRE 0x00FE David 'equinox' Lamparter
@ 2026-06-09  2:30 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-06-09  2:30 UTC (permalink / raw)
  To: David 'equinox' Lamparter
  Cc: netdev, andrew+netdev, davem, edumazet, kuba

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri,  5 Jun 2026 18:41:44 +0200 you wrote:
> Because LLC wasn't complicated/annoying enough, there's 2 more
> "ethertypes" being used for it:
> 
> - 0x8870 is pretty "normal", it got standardized in
>   802.1AC-2016/Cor1-2018 for transporting LLC frames > 1500 bytes.
>   It simply replaces the length value (which is no longer encoded, and
>   must now be derived from the packet.)  The actual value dates back to
>   2001; https://datatracker.ietf.org/doc/html/draft-ietf-isis-ext-eth-01
>   (it was used without "proper" standardization for a long time)
> 
> [...]

Here is the summary with links:
  - if_ether.h: add 802.1AC, warn about GRE 0x00FE
    https://git.kernel.org/netdev/net-next/c/69710a37bad6

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-06-09  2:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-05 16:41 [PATCH] if_ether.h: add 802.1AC, warn about GRE 0x00FE David 'equinox' Lamparter
2026-06-09  2:30 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox