Noticed difference in packet.h in master.diff

postmaster at open-mesh.org postmaster at open-mesh.org
Mon May 27 00:15:01 CEST 2013


--- batman-adv_master.packet.h	2013-05-27 00:15:01.517977457 +0200
+++ batctl_master.packet.h	2013-05-27 00:15:01.525978333 +0200
@@ -186,47 +186,29 @@
 
 #define BATADV_OGM_HLEN sizeof(struct batadv_ogm_packet)
 
-/**
- * batadc_icmp_header - common ICMP header
- * @header: common batman header
- * @msg_type: ICMP packet type
- * @dst: address of the destination node
- * @orig: address of the source node
- * @uid: local ICMP socket identifier
- */
-struct batadv_icmp_header {
+struct batadv_icmp_packet {
 	struct batadv_header header;
 	uint8_t  msg_type; /* see ICMP message types above */
 	uint8_t  dst[ETH_ALEN];
 	uint8_t  orig[ETH_ALEN];
+	__be16   seqno;
 	uint8_t  uid;
-};
-
-/**
- * batadv_icmp_packet - ICMP packet
- * @icmph: common ICMP header
- * @reserved: not used - useful for alignment
- * @seqno: ICMP sequence number
- */
-struct batadv_icmp_packet {
-	struct batadv_icmp_header icmph;
 	uint8_t  reserved;
-	__be16   seqno;
 };
 
 #define BATADV_RR_LEN 16
 
-/**
- * batadv_icmp_packet_rr - ICMP RouteRecord packet
- * @icmph: common ICMP header
- * @rr_cur: number of entries the rr array
- * @seqno: ICMP sequence number
- * @rr: route record array
+/* icmp_packet_rr must start with all fields from imcp_packet
+ * as this is assumed by code that handles ICMP packets
  */
 struct batadv_icmp_packet_rr {
-	struct batadv_icmp_header icmph;
-	uint8_t  rr_cur;
+	struct batadv_header header;
+	uint8_t  msg_type; /* see ICMP message types above */
+	uint8_t  dst[ETH_ALEN];
+	uint8_t  orig[ETH_ALEN];
 	__be16   seqno;
+	uint8_t  uid;
+	uint8_t  rr_cur;
 	uint8_t  rr[BATADV_RR_LEN][ETH_ALEN];
 };
 


More information about the linux-merge mailing list