Remove the concept of the media-independent link-layer header and replace
[people/sha0/gpxe.git] / src / include / gpxe / pkbuff.h
index bcc3049..f82f508 100644 (file)
@@ -26,8 +26,40 @@ struct pk_buff {
        void *tail;
        /** End of the buffer */
         void *end;
+
+       /** The network-layer protocol
+        *
+        * This is the network-layer protocol expressed as an
+        * ETH_P_XXX constant, in network-byte order.
+        */
+       uint16_t net_proto;
+       /** Flags
+        *
+        * Filled in only on outgoing packets.  Value is the
+        * bitwise-OR of zero or more PKB_FL_XXX constants.
+        */
+       uint8_t flags;
+       /** Network-layer address length 
+        *
+        * Filled in only on outgoing packets.
+        */
+       uint8_t net_addr_len;
+       /** Network-layer address
+        *
+        * Filled in only on outgoing packets.
+        */
+       void *net_addr;
 };
 
+/** Packet is a broadcast packet */
+#define PKB_FL_BROADCAST 0x01
+
+/** Packet is a multicast packet */
+#define PKB_FL_MULTICAST 0x02
+
+/** Network-layer address is a raw hardware address */
+#define PKB_FL_RAW_NET_ADDR 0x04
+
 /**
  * Add data to start of packet buffer
  *