Fix a batch of coverity warnings, VPP-486
[vpp.git] / vnet / vnet / ip / ip6_hop_by_hop_packet.h
index a3d1903..8c35833 100644 (file)
@@ -27,41 +27,28 @@ typedef struct {
 
 typedef struct {
   /* Option Type */
-#define HBH_OPTION_TYPE_SKIP_UNKNOWN (0x0 << 6)
-#define HBH_OPTION_TYPE_DISCARD_UNKNOWN (0x1 << 6)
-#define HBH_OPTION_TYPE_DISCARD_UNKNOWN_ICMP (0x2 << 6)
-#define HBH_OPTION_TYPE_DISCARD_UNKNOWN_ICMP_NOT_MCAST (0x3 << 6)
+#define HBH_OPTION_TYPE_SKIP_UNKNOWN (0x00)
+#define HBH_OPTION_TYPE_DISCARD_UNKNOWN (0x40)
+#define HBH_OPTION_TYPE_DISCARD_UNKNOWN_ICMP (0x80)
+#define HBH_OPTION_TYPE_DISCARD_UNKNOWN_ICMP_NOT_MCAST (0xc0)
+#define HBH_OPTION_TYPE_HIGH_ORDER_BITS (0xc0)
 #define HBH_OPTION_TYPE_DATA_CHANGE_ENROUTE (1<<5)
-#define HBH_OPTION_TYPE_MASK (0x1F)
   u8 type;
   /* Length in octets of the option data field */
   u8 length;
 } ip6_hop_by_hop_option_t;
 
 /* $$$$ IANA banana constants */
-#define HBH_OPTION_TYPE_IOAM_DATA_LIST 1
-#define HBH_OPTION_TYPE_IOAM_PROOF_OF_WORK 2
+#define HBH_OPTION_TYPE_IOAM_TRACE_DATA_LIST 59 /* Third highest bit set (change en-route) */
+#define HBH_OPTION_TYPE_IOAM_PROOF_OF_TRANSIT 60   /* Third highest bit set (change en-route) */
+#define HBH_OPTION_TYPE_IOAM_EDGE_TO_EDGE 29
 
-typedef struct {
-  u32 ttl_node_id;
-  u16 ingress_if;
-  u16 egress_if;
-  u32 timestamp;
-  u32 app_data;
-} ioam_data_list_element_t;
-
-typedef CLIB_PACKED(struct {
-  ip6_hop_by_hop_option_t hdr;
-  u8 data_list_elts_left;
-  ioam_data_list_element_t elts[0];
-}) ioam_trace_option_t;
 
 typedef CLIB_PACKED(struct {
   ip6_hop_by_hop_option_t hdr;
-  u8 pow_type;
+  u8 e2e_type;
   u8 reserved;
-  u32 random[2];
-  u32 cumulative[2];
-}) ioam_pow_option_t;
+  u32 e2e_data;
+}) ioam_e2e_option_t;
 
 #endif /* __included_ip6_hop_by_hop_packet_h__ */