PageRenderTime 58ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/external/libnl-headers/netlink-types.h

https://gitlab.com/brian0218/rk3066_r-box_android4.2.2_sdk
C Header | 832 lines | 623 code | 125 blank | 84 comment | 0 complexity | 20d6210a282c6231f4cb6341085e529e MD5 | raw file
  1. /*
  2. * netlink-types.h Netlink Types (Private)
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation version 2.1
  7. * of the License.
  8. *
  9. * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
  10. */
  11. #ifndef NETLINK_LOCAL_TYPES_H_
  12. #define NETLINK_LOCAL_TYPES_H_
  13. #include <netlink/list.h>
  14. #include <netlink/route/link.h>
  15. #include <netlink/route/qdisc.h>
  16. #include <netlink/route/rtnl.h>
  17. #include <netlink/route/route.h>
  18. #include <netlink/object-api.h>
  19. #include <linux/socket.h>
  20. #include <linux/pkt_sched.h>
  21. #define NL_SOCK_BUFSIZE_SET (1<<0)
  22. #define NL_SOCK_PASSCRED (1<<1)
  23. #define NL_OWN_PORT (1<<2)
  24. #define NL_MSG_PEEK (1<<3)
  25. #define NL_NO_AUTO_ACK (1<<4)
  26. #define NL_MSG_CRED_PRESENT 1
  27. struct nl_cache_ops;
  28. struct nl_sock;
  29. struct nl_object;
  30. struct nl_cb
  31. {
  32. nl_recvmsg_msg_cb_t cb_set[NL_CB_TYPE_MAX+1];
  33. void * cb_args[NL_CB_TYPE_MAX+1];
  34. nl_recvmsg_err_cb_t cb_err;
  35. void * cb_err_arg;
  36. /** May be used to replace nl_recvmsgs with your own implementation
  37. * in all internal calls to nl_recvmsgs. */
  38. int (*cb_recvmsgs_ow)(struct nl_sock *,
  39. struct nl_cb *);
  40. /** Overwrite internal calls to nl_recv, must return the number of
  41. * octets read and allocate a buffer for the received data. */
  42. int (*cb_recv_ow)(struct nl_sock *,
  43. struct sockaddr_nl *,
  44. unsigned char **,
  45. struct ucred **);
  46. /** Overwrites internal calls to nl_send, must send the netlink
  47. * message. */
  48. int (*cb_send_ow)(struct nl_sock *,
  49. struct nl_msg *);
  50. int cb_refcnt;
  51. };
  52. struct nl_sock
  53. {
  54. struct sockaddr_nl s_local;
  55. struct sockaddr_nl s_peer;
  56. int s_fd;
  57. int s_proto;
  58. unsigned int s_seq_next;
  59. unsigned int s_seq_expect;
  60. int s_flags;
  61. struct nl_cb * s_cb;
  62. };
  63. struct nl_cache
  64. {
  65. struct nl_list_head c_items;
  66. int c_nitems;
  67. int c_iarg1;
  68. int c_iarg2;
  69. struct nl_cache_ops * c_ops;
  70. };
  71. struct nl_cache_assoc
  72. {
  73. struct nl_cache * ca_cache;
  74. change_func_t ca_change;
  75. void * ca_change_data;
  76. };
  77. struct nl_cache_mngr
  78. {
  79. int cm_protocol;
  80. int cm_flags;
  81. int cm_nassocs;
  82. struct nl_sock * cm_handle;
  83. struct nl_cache_assoc * cm_assocs;
  84. };
  85. struct nl_parser_param;
  86. #define LOOSE_COMPARISON 1
  87. #define NL_OBJ_MARK 1
  88. struct nl_object
  89. {
  90. NLHDR_COMMON
  91. };
  92. struct nl_data
  93. {
  94. size_t d_size;
  95. void * d_data;
  96. };
  97. struct nl_addr
  98. {
  99. int a_family;
  100. unsigned int a_maxsize;
  101. unsigned int a_len;
  102. int a_prefixlen;
  103. int a_refcnt;
  104. char a_addr[0];
  105. };
  106. struct nl_msg
  107. {
  108. int nm_protocol;
  109. int nm_flags;
  110. struct sockaddr_nl nm_src;
  111. struct sockaddr_nl nm_dst;
  112. struct ucred nm_creds;
  113. struct nlmsghdr * nm_nlh;
  114. size_t nm_size;
  115. int nm_refcnt;
  116. };
  117. struct rtnl_link_map
  118. {
  119. uint64_t lm_mem_start;
  120. uint64_t lm_mem_end;
  121. uint64_t lm_base_addr;
  122. uint16_t lm_irq;
  123. uint8_t lm_dma;
  124. uint8_t lm_port;
  125. };
  126. #define IFQDISCSIZ 32
  127. struct rtnl_link
  128. {
  129. NLHDR_COMMON
  130. char l_name[IFNAMSIZ];
  131. uint32_t l_family;
  132. uint32_t l_arptype;
  133. uint32_t l_index;
  134. uint32_t l_flags;
  135. uint32_t l_change;
  136. uint32_t l_mtu;
  137. uint32_t l_link;
  138. uint32_t l_txqlen;
  139. uint32_t l_weight;
  140. uint32_t l_master;
  141. struct nl_addr *l_addr;
  142. struct nl_addr *l_bcast;
  143. char l_qdisc[IFQDISCSIZ];
  144. struct rtnl_link_map l_map;
  145. uint64_t l_stats[RTNL_LINK_STATS_MAX+1];
  146. uint32_t l_flag_mask;
  147. uint8_t l_operstate;
  148. uint8_t l_linkmode;
  149. /* 2 byte hole */
  150. struct rtnl_link_info_ops *l_info_ops;
  151. void * l_info;
  152. };
  153. struct rtnl_ncacheinfo
  154. {
  155. uint32_t nci_confirmed; /**< Time since neighbour validty was last confirmed */
  156. uint32_t nci_used; /**< Time since neighbour entry was last ued */
  157. uint32_t nci_updated; /**< Time since last update */
  158. uint32_t nci_refcnt; /**< Reference counter */
  159. };
  160. struct rtnl_neigh
  161. {
  162. NLHDR_COMMON
  163. uint32_t n_family;
  164. uint32_t n_ifindex;
  165. uint16_t n_state;
  166. uint8_t n_flags;
  167. uint8_t n_type;
  168. struct nl_addr *n_lladdr;
  169. struct nl_addr *n_dst;
  170. uint32_t n_probes;
  171. struct rtnl_ncacheinfo n_cacheinfo;
  172. uint32_t n_state_mask;
  173. uint32_t n_flag_mask;
  174. };
  175. struct rtnl_addr_cacheinfo
  176. {
  177. /* Preferred lifetime in seconds */
  178. uint32_t aci_prefered;
  179. /* Valid lifetime in seconds */
  180. uint32_t aci_valid;
  181. /* Timestamp of creation in 1/100s seince boottime */
  182. uint32_t aci_cstamp;
  183. /* Timestamp of last update in 1/100s since boottime */
  184. uint32_t aci_tstamp;
  185. };
  186. struct rtnl_addr
  187. {
  188. NLHDR_COMMON
  189. uint8_t a_family;
  190. uint8_t a_prefixlen;
  191. uint8_t a_flags;
  192. uint8_t a_scope;
  193. uint32_t a_ifindex;
  194. struct nl_addr *a_peer;
  195. struct nl_addr *a_local;
  196. struct nl_addr *a_bcast;
  197. struct nl_addr *a_anycast;
  198. struct nl_addr *a_multicast;
  199. struct rtnl_addr_cacheinfo a_cacheinfo;
  200. char a_label[IFNAMSIZ];
  201. uint32_t a_flag_mask;
  202. };
  203. struct rtnl_nexthop
  204. {
  205. uint8_t rtnh_flags;
  206. uint8_t rtnh_flag_mask;
  207. uint8_t rtnh_weight;
  208. /* 1 byte spare */
  209. uint32_t rtnh_ifindex;
  210. struct nl_addr * rtnh_gateway;
  211. uint32_t ce_mask; /* HACK to support attr macros */
  212. struct nl_list_head rtnh_list;
  213. uint32_t rtnh_realms;
  214. };
  215. struct rtnl_route
  216. {
  217. NLHDR_COMMON
  218. uint8_t rt_family;
  219. uint8_t rt_dst_len;
  220. uint8_t rt_src_len;
  221. uint8_t rt_tos;
  222. uint8_t rt_protocol;
  223. uint8_t rt_scope;
  224. uint8_t rt_type;
  225. uint8_t rt_nmetrics;
  226. uint32_t rt_flags;
  227. struct nl_addr * rt_dst;
  228. struct nl_addr * rt_src;
  229. uint32_t rt_table;
  230. uint32_t rt_iif;
  231. uint32_t rt_prio;
  232. uint32_t rt_metrics[RTAX_MAX];
  233. uint32_t rt_metrics_mask;
  234. uint32_t rt_nr_nh;
  235. struct nl_addr * rt_pref_src;
  236. struct nl_list_head rt_nexthops;
  237. struct rtnl_rtcacheinfo rt_cacheinfo;
  238. uint32_t rt_flag_mask;
  239. };
  240. struct rtnl_rule
  241. {
  242. NLHDR_COMMON
  243. uint64_t r_mark;
  244. uint32_t r_prio;
  245. uint32_t r_realms;
  246. uint32_t r_table;
  247. uint8_t r_dsfield;
  248. uint8_t r_type;
  249. uint8_t r_family;
  250. uint8_t r_src_len;
  251. uint8_t r_dst_len;
  252. char r_iif[IFNAMSIZ];
  253. struct nl_addr *r_src;
  254. struct nl_addr *r_dst;
  255. struct nl_addr *r_srcmap;
  256. };
  257. struct rtnl_neightbl_parms
  258. {
  259. /**
  260. * Interface index of the device this parameter set is assigned
  261. * to or 0 for the default set.
  262. */
  263. uint32_t ntp_ifindex;
  264. /**
  265. * Number of references to this parameter set.
  266. */
  267. uint32_t ntp_refcnt;
  268. /**
  269. * Queue length for pending arp requests, i.e. the number of
  270. * packets which are accepted from other layers while the
  271. * neighbour address is still being resolved
  272. */
  273. uint32_t ntp_queue_len;
  274. /**
  275. * Number of requests to send to the user level ARP daemon.
  276. * Specify 0 to disable.
  277. */
  278. uint32_t ntp_app_probes;
  279. /**
  280. * Maximum number of retries for unicast solicitation.
  281. */
  282. uint32_t ntp_ucast_probes;
  283. /**
  284. * Maximum number of retries for multicast solicitation.
  285. */
  286. uint32_t ntp_mcast_probes;
  287. /**
  288. * Base value in milliseconds to ompute reachable time, see RFC2461.
  289. */
  290. uint64_t ntp_base_reachable_time;
  291. /**
  292. * Actual reachable time (read-only)
  293. */
  294. uint64_t ntp_reachable_time; /* secs */
  295. /**
  296. * The time in milliseconds between retransmitted Neighbor
  297. * Solicitation messages.
  298. */
  299. uint64_t ntp_retrans_time;
  300. /**
  301. * Interval in milliseconds to check for stale neighbour
  302. * entries.
  303. */
  304. uint64_t ntp_gc_stale_time; /* secs */
  305. /**
  306. * Delay in milliseconds for the first time probe if
  307. * the neighbour is reachable.
  308. */
  309. uint64_t ntp_probe_delay; /* secs */
  310. /**
  311. * Maximum delay in milliseconds of an answer to a neighbour
  312. * solicitation message.
  313. */
  314. uint64_t ntp_anycast_delay;
  315. /**
  316. * Minimum age in milliseconds before a neighbour entry
  317. * may be replaced.
  318. */
  319. uint64_t ntp_locktime;
  320. /**
  321. * Delay in milliseconds before answering to an ARP request
  322. * for which a proxy ARP entry exists.
  323. */
  324. uint64_t ntp_proxy_delay;
  325. /**
  326. * Queue length for the delayed proxy arp requests.
  327. */
  328. uint32_t ntp_proxy_qlen;
  329. /**
  330. * Mask of available parameter attributes
  331. */
  332. uint32_t ntp_mask;
  333. };
  334. #define NTBLNAMSIZ 32
  335. /**
  336. * Neighbour table
  337. * @ingroup neightbl
  338. */
  339. struct rtnl_neightbl
  340. {
  341. NLHDR_COMMON
  342. char nt_name[NTBLNAMSIZ];
  343. uint32_t nt_family;
  344. uint32_t nt_gc_thresh1;
  345. uint32_t nt_gc_thresh2;
  346. uint32_t nt_gc_thresh3;
  347. uint64_t nt_gc_interval;
  348. struct ndt_config nt_config;
  349. struct rtnl_neightbl_parms nt_parms;
  350. struct ndt_stats nt_stats;
  351. };
  352. struct rtnl_ratespec
  353. {
  354. uint8_t rs_cell_log;
  355. uint16_t rs_feature;
  356. uint16_t rs_addend;
  357. uint16_t rs_mpu;
  358. uint32_t rs_rate;
  359. };
  360. struct rtnl_tstats
  361. {
  362. struct {
  363. uint64_t bytes;
  364. uint64_t packets;
  365. } tcs_basic;
  366. struct {
  367. uint32_t bps;
  368. uint32_t pps;
  369. } tcs_rate_est;
  370. struct {
  371. uint32_t qlen;
  372. uint32_t backlog;
  373. uint32_t drops;
  374. uint32_t requeues;
  375. uint32_t overlimits;
  376. } tcs_queue;
  377. };
  378. #define TCKINDSIZ 32
  379. #define NL_TCA_GENERIC(pre) \
  380. NLHDR_COMMON \
  381. uint32_t pre ##_family; \
  382. uint32_t pre ##_ifindex; \
  383. uint32_t pre ##_handle; \
  384. uint32_t pre ##_parent; \
  385. uint32_t pre ##_info; \
  386. char pre ##_kind[TCKINDSIZ]; \
  387. struct nl_data * pre ##_opts; \
  388. uint64_t pre ##_stats[RTNL_TC_STATS_MAX+1]; \
  389. struct nl_data * pre ##_xstats; \
  390. struct nl_data * pre ##_subdata; \
  391. struct rtnl_tca
  392. {
  393. NL_TCA_GENERIC(tc);
  394. };
  395. struct rtnl_qdisc
  396. {
  397. NL_TCA_GENERIC(q);
  398. struct rtnl_qdisc_ops *q_ops;
  399. };
  400. struct rtnl_class
  401. {
  402. NL_TCA_GENERIC(c);
  403. struct rtnl_class_ops *c_ops;
  404. };
  405. struct rtnl_cls
  406. {
  407. NL_TCA_GENERIC(c);
  408. uint16_t c_prio;
  409. uint16_t c_protocol;
  410. struct rtnl_cls_ops *c_ops;
  411. };
  412. struct rtnl_u32
  413. {
  414. uint32_t cu_divisor;
  415. uint32_t cu_hash;
  416. uint32_t cu_classid;
  417. uint32_t cu_link;
  418. struct nl_data * cu_pcnt;
  419. struct nl_data * cu_selector;
  420. struct nl_data * cu_act;
  421. struct nl_data * cu_police;
  422. char cu_indev[IFNAMSIZ];
  423. int cu_mask;
  424. };
  425. struct rtnl_cgroup
  426. {
  427. struct rtnl_ematch_tree *cg_ematch;
  428. int cg_mask;
  429. };
  430. struct rtnl_fw
  431. {
  432. uint32_t cf_classid;
  433. struct nl_data * cf_act;
  434. struct nl_data * cf_police;
  435. char cf_indev[IFNAMSIZ];
  436. int cf_mask;
  437. };
  438. struct rtnl_ematch
  439. {
  440. uint16_t e_id;
  441. uint16_t e_kind;
  442. uint16_t e_flags;
  443. struct nl_list_head e_childs;
  444. struct nl_list_head e_list;
  445. struct rtnl_ematch_ops *e_ops;
  446. char e_data[0];
  447. };
  448. struct rtnl_ematch_tree
  449. {
  450. uint16_t et_progid;
  451. struct nl_list_head et_list;
  452. };
  453. struct rtnl_dsmark_qdisc
  454. {
  455. uint16_t qdm_indices;
  456. uint16_t qdm_default_index;
  457. uint32_t qdm_set_tc_index;
  458. uint32_t qdm_mask;
  459. };
  460. struct rtnl_dsmark_class
  461. {
  462. uint8_t cdm_bmask;
  463. uint8_t cdm_value;
  464. uint32_t cdm_mask;
  465. };
  466. struct rtnl_fifo
  467. {
  468. uint32_t qf_limit;
  469. uint32_t qf_mask;
  470. };
  471. struct rtnl_prio
  472. {
  473. uint32_t qp_bands;
  474. uint8_t qp_priomap[TC_PRIO_MAX+1];
  475. uint32_t qp_mask;
  476. };
  477. struct rtnl_tbf
  478. {
  479. uint32_t qt_limit;
  480. uint32_t qt_mpu;
  481. struct rtnl_ratespec qt_rate;
  482. uint32_t qt_rate_bucket;
  483. uint32_t qt_rate_txtime;
  484. struct rtnl_ratespec qt_peakrate;
  485. uint32_t qt_peakrate_bucket;
  486. uint32_t qt_peakrate_txtime;
  487. uint32_t qt_mask;
  488. };
  489. struct rtnl_sfq
  490. {
  491. uint32_t qs_quantum;
  492. uint32_t qs_perturb;
  493. uint32_t qs_limit;
  494. uint32_t qs_divisor;
  495. uint32_t qs_flows;
  496. uint32_t qs_mask;
  497. };
  498. struct rtnl_netem_corr
  499. {
  500. uint32_t nmc_delay;
  501. uint32_t nmc_loss;
  502. uint32_t nmc_duplicate;
  503. };
  504. struct rtnl_netem_reo
  505. {
  506. uint32_t nmro_probability;
  507. uint32_t nmro_correlation;
  508. };
  509. struct rtnl_netem_crpt
  510. {
  511. uint32_t nmcr_probability;
  512. uint32_t nmcr_correlation;
  513. };
  514. struct rtnl_netem_dist
  515. {
  516. int16_t * dist_data;
  517. size_t dist_size;
  518. };
  519. struct rtnl_netem
  520. {
  521. uint32_t qnm_latency;
  522. uint32_t qnm_limit;
  523. uint32_t qnm_loss;
  524. uint32_t qnm_gap;
  525. uint32_t qnm_duplicate;
  526. uint32_t qnm_jitter;
  527. uint32_t qnm_mask;
  528. struct rtnl_netem_corr qnm_corr;
  529. struct rtnl_netem_reo qnm_ro;
  530. struct rtnl_netem_crpt qnm_crpt;
  531. struct rtnl_netem_dist qnm_dist;
  532. };
  533. struct rtnl_htb_qdisc
  534. {
  535. uint32_t qh_rate2quantum;
  536. uint32_t qh_defcls;
  537. uint32_t qh_mask;
  538. };
  539. struct rtnl_htb_class
  540. {
  541. uint32_t ch_prio;
  542. uint32_t ch_mtu;
  543. struct rtnl_ratespec ch_rate;
  544. struct rtnl_ratespec ch_ceil;
  545. uint32_t ch_rbuffer;
  546. uint32_t ch_cbuffer;
  547. uint32_t ch_quantum;
  548. uint8_t ch_overhead;
  549. uint8_t ch_mpu;
  550. uint32_t ch_mask;
  551. };
  552. struct rtnl_cbq
  553. {
  554. struct tc_cbq_lssopt cbq_lss;
  555. struct tc_ratespec cbq_rate;
  556. struct tc_cbq_wrropt cbq_wrr;
  557. struct tc_cbq_ovl cbq_ovl;
  558. struct tc_cbq_fopt cbq_fopt;
  559. struct tc_cbq_police cbq_police;
  560. };
  561. struct rtnl_red
  562. {
  563. uint32_t qr_limit;
  564. uint32_t qr_qth_min;
  565. uint32_t qr_qth_max;
  566. uint8_t qr_flags;
  567. uint8_t qr_wlog;
  568. uint8_t qr_plog;
  569. uint8_t qr_scell_log;
  570. uint32_t qr_mask;
  571. };
  572. struct flnl_request
  573. {
  574. NLHDR_COMMON
  575. struct nl_addr * lr_addr;
  576. uint32_t lr_fwmark;
  577. uint8_t lr_tos;
  578. uint8_t lr_scope;
  579. uint8_t lr_table;
  580. };
  581. struct flnl_result
  582. {
  583. NLHDR_COMMON
  584. struct flnl_request * fr_req;
  585. uint8_t fr_table_id;
  586. uint8_t fr_prefixlen;
  587. uint8_t fr_nh_sel;
  588. uint8_t fr_type;
  589. uint8_t fr_scope;
  590. uint32_t fr_error;
  591. };
  592. #define GENL_OP_HAS_POLICY 1
  593. #define GENL_OP_HAS_DOIT 2
  594. #define GENL_OP_HAS_DUMPIT 4
  595. struct genl_family_op
  596. {
  597. uint32_t o_id;
  598. uint32_t o_flags;
  599. struct nl_list_head o_list;
  600. };
  601. struct genl_family
  602. {
  603. NLHDR_COMMON
  604. uint16_t gf_id;
  605. char gf_name[GENL_NAMSIZ];
  606. uint32_t gf_version;
  607. uint32_t gf_hdrsize;
  608. uint32_t gf_maxattr;
  609. struct nl_list_head gf_ops;
  610. };
  611. union nfnl_ct_proto
  612. {
  613. struct {
  614. uint16_t src;
  615. uint16_t dst;
  616. } port;
  617. struct {
  618. uint16_t id;
  619. uint8_t type;
  620. uint8_t code;
  621. } icmp;
  622. };
  623. struct nfnl_ct_dir {
  624. struct nl_addr * src;
  625. struct nl_addr * dst;
  626. union nfnl_ct_proto proto;
  627. uint64_t packets;
  628. uint64_t bytes;
  629. };
  630. union nfnl_ct_protoinfo {
  631. struct {
  632. uint8_t state;
  633. } tcp;
  634. };
  635. struct nfnl_ct {
  636. NLHDR_COMMON
  637. uint8_t ct_family;
  638. uint8_t ct_proto;
  639. union nfnl_ct_protoinfo ct_protoinfo;
  640. uint32_t ct_status;
  641. uint32_t ct_status_mask;
  642. uint32_t ct_timeout;
  643. uint32_t ct_mark;
  644. uint32_t ct_use;
  645. uint32_t ct_id;
  646. struct nfnl_ct_dir ct_orig;
  647. struct nfnl_ct_dir ct_repl;
  648. };
  649. struct nfnl_log {
  650. NLHDR_COMMON
  651. uint16_t log_group;
  652. uint8_t log_copy_mode;
  653. uint32_t log_copy_range;
  654. uint32_t log_flush_timeout;
  655. uint32_t log_alloc_size;
  656. uint32_t log_queue_threshold;
  657. uint32_t log_flags;
  658. uint32_t log_flag_mask;
  659. };
  660. struct nfnl_log_msg {
  661. NLHDR_COMMON
  662. uint8_t log_msg_family;
  663. uint8_t log_msg_hook;
  664. uint16_t log_msg_hwproto;
  665. uint32_t log_msg_mark;
  666. struct timeval log_msg_timestamp;
  667. uint32_t log_msg_indev;
  668. uint32_t log_msg_outdev;
  669. uint32_t log_msg_physindev;
  670. uint32_t log_msg_physoutdev;
  671. uint8_t log_msg_hwaddr[8];
  672. int log_msg_hwaddr_len;
  673. void * log_msg_payload;
  674. int log_msg_payload_len;
  675. char * log_msg_prefix;
  676. uint32_t log_msg_uid;
  677. uint32_t log_msg_gid;
  678. uint32_t log_msg_seq;
  679. uint32_t log_msg_seq_global;
  680. };
  681. struct nfnl_queue {
  682. NLHDR_COMMON
  683. uint16_t queue_group;
  684. uint32_t queue_maxlen;
  685. uint32_t queue_copy_range;
  686. uint8_t queue_copy_mode;
  687. };
  688. struct nfnl_queue_msg {
  689. NLHDR_COMMON
  690. uint16_t queue_msg_group;
  691. uint8_t queue_msg_family;
  692. uint8_t queue_msg_hook;
  693. uint16_t queue_msg_hwproto;
  694. uint32_t queue_msg_packetid;
  695. uint32_t queue_msg_mark;
  696. struct timeval queue_msg_timestamp;
  697. uint32_t queue_msg_indev;
  698. uint32_t queue_msg_outdev;
  699. uint32_t queue_msg_physindev;
  700. uint32_t queue_msg_physoutdev;
  701. uint8_t queue_msg_hwaddr[8];
  702. int queue_msg_hwaddr_len;
  703. void * queue_msg_payload;
  704. int queue_msg_payload_len;
  705. uint32_t queue_msg_verdict;
  706. };
  707. #endif