47 uint16_t svp_op;
48 uint32_t svp_size;
49 uint32_t svp_id;
50 uint32_t svp_crc32;
51 } svp_req_t;
52
53 /*
54 * Unless specified, all message types function identically between v1 and v2
55 * of SVP.
56 */
57 typedef enum svp_op {
58 SVP_R_UNKNOWN = 0x00,
59 SVP_R_PING = 0x01,
60 SVP_R_PONG = 0x02,
61 SVP_R_VL2_REQ = 0x03,
62 SVP_R_VL2_ACK = 0x04,
63 SVP_R_VL3_REQ = 0x05,
64 SVP_R_VL3_ACK = 0x06,
65 SVP_R_BULK_REQ = 0x07,
66 SVP_R_BULK_ACK = 0x08,
67 SVP_R_LOG_REQ = 0x09,
68 SVP_R_LOG_ACK = 0x0A,
69 SVP_R_LOG_RM = 0x0B, /* v2 introduces new log type */
70 SVP_R_LOG_RM_ACK = 0x0C, /* See svp_log_route_t */
71 SVP_R_SHOOTDOWN = 0x0D,
72 SVP_R_ROUTE_REQ = 0x0E, /* v2 only */
73 SVP_R_ROUTE_ACK = 0x0F /* v2 only */
74 } svp_op_t;
75
76 typedef enum svp_status {
77 SVP_S_OK = 0x00, /* Everything OK */
78 SVP_S_FATAL = 0x01, /* Fatal error, close connection */
79 SVP_S_NOTFOUND = 0x02, /* Entry not found */
80 SVP_S_BADL3TYPE = 0x03, /* Unknown svp_vl3_type_t */
81 SVP_S_BADBULK = 0x04 /* Unknown svp_bulk_type_t */
82 } svp_status_t;
83
84 /*
85 * A client issues the SVP_R_VL2_REQ whenever it needs to perform a VL2->UL3
86 * lookup. Requests have the following structure:
87 */
88 typedef struct svp_vl2_req {
89 uint8_t sl2r_mac[ETHERADDRL];
90 uint8_t sl2r_pad[2];
|
47 uint16_t svp_op;
48 uint32_t svp_size;
49 uint32_t svp_id;
50 uint32_t svp_crc32;
51 } svp_req_t;
52
53 /*
54 * Unless specified, all message types function identically between v1 and v2
55 * of SVP.
56 */
57 typedef enum svp_op {
58 SVP_R_UNKNOWN = 0x00,
59 SVP_R_PING = 0x01,
60 SVP_R_PONG = 0x02,
61 SVP_R_VL2_REQ = 0x03,
62 SVP_R_VL2_ACK = 0x04,
63 SVP_R_VL3_REQ = 0x05,
64 SVP_R_VL3_ACK = 0x06,
65 SVP_R_BULK_REQ = 0x07,
66 SVP_R_BULK_ACK = 0x08,
67 SVP_R_LOG_REQ = 0x09, /* v2 introduces new log type */
68 SVP_R_LOG_ACK = 0x0A, /* See svp_log_route_t */
69 SVP_R_LOG_RM = 0x0B,
70 SVP_R_LOG_RM_ACK = 0x0C,
71 SVP_R_SHOOTDOWN = 0x0D,
72 SVP_R_ROUTE_REQ = 0x0E, /* v2 only */
73 SVP_R_ROUTE_ACK = 0x0F /* v2 only */
74 } svp_op_t;
75
76 typedef enum svp_status {
77 SVP_S_OK = 0x00, /* Everything OK */
78 SVP_S_FATAL = 0x01, /* Fatal error, close connection */
79 SVP_S_NOTFOUND = 0x02, /* Entry not found */
80 SVP_S_BADL3TYPE = 0x03, /* Unknown svp_vl3_type_t */
81 SVP_S_BADBULK = 0x04 /* Unknown svp_bulk_type_t */
82 } svp_status_t;
83
84 /*
85 * A client issues the SVP_R_VL2_REQ whenever it needs to perform a VL2->UL3
86 * lookup. Requests have the following structure:
87 */
88 typedef struct svp_vl2_req {
89 uint8_t sl2r_mac[ETHERADDRL];
90 uint8_t sl2r_pad[2];
|