소스 검색

Kernel: Ignore IPv6 packets; log unknown Ethernet payload types

Conrad Pankoff 6 년 전
부모
커밋
5f86a979ea
2개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      Kernel/Net/EtherType.h
  2. 5 0
      Kernel/Net/NetworkTask.cpp

+ 1 - 0
Kernel/Net/EtherType.h

@@ -6,5 +6,6 @@ struct EtherType {
     enum : u16 {
     enum : u16 {
         ARP = 0x0806,
         ARP = 0x0806,
         IPv4 = 0x0800,
         IPv4 = 0x0800,
+        IPv6 = 0x86DD,
     };
     };
 };
 };

+ 5 - 0
Kernel/Net/NetworkTask.cpp

@@ -126,6 +126,11 @@ void NetworkTask_main()
         case EtherType::IPv4:
         case EtherType::IPv4:
             handle_ipv4(eth, packet.size());
             handle_ipv4(eth, packet.size());
             break;
             break;
+        case EtherType::IPv6:
+            // ignore
+            break;
+        default:
+            kprintf("NetworkTask: Unknown ethernet type %#04x\n", eth.ether_type());
         }
         }
     }
     }
 }
 }