File tree 2 files changed +19
-0
lines changed
2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -196,6 +196,11 @@ static int arp_input(const struct ether_hdr *hdr __unused,
196
196
LOG (LOG_WARN , "Invalid ARP op: %d" , arp .arp_oper );
197
197
break ;
198
198
}
199
+ } else if (arp .arp_ptype == ETHER_PROTO_IPV6 ) {
200
+ /* TODO: IPv6 support */
201
+ LOG (LOG_INFO , "TODO: IPv6 support - WIP" );
202
+
203
+ return - EPROTOTYPE ;
199
204
} else {
200
205
LOG (LOG_DEBUG , "Unknown ptype" );
201
206
Original file line number Diff line number Diff line change @@ -42,6 +42,20 @@ struct ip_hdr {
42
42
43
43
} __attribute__((packed , aligned (4 )));
44
44
45
+ /**
46
+ * IPv6 Packet Header.
47
+ */
48
+ struct ipv6_hdr {
49
+ uint8_t ip_vhl ; /* version */
50
+ uint16_t ip_tc ; /* traffic class */
51
+ uint32_t ip_flb ; /* flowlabel (20 bits) */
52
+ uint32_t ip_len ; /* payload length */
53
+ uint16_t ip_nhdr ; /* next header */
54
+ uint16_t ip_hopl ; /* hoplimit */
55
+ uint8_t ip_src [16 ]; /* source address */
56
+ uint8_t ip_dst [16 ]; /* destination address */
57
+ } __attribute__((packed , aligned (4 )));
58
+
45
59
/**
46
60
* IP Packet Header Defaults
47
61
* @{
You can’t perform that action at this time.
0 commit comments