20 #ifndef __CNAT_LOGGING_H__ 21 #define __CNAT_LOGGING_H__ 36 #define NFV9_DEF_PATH_MTU 1500 37 #define NFV9_VRF_NAME_LEN 12 48 #ifndef NO_BULK_LOGGING
68 #ifndef NO_BULK_LOGGING
76 #ifndef NO_BULK_LOGGING
83 #ifndef NO_BULK_LOGGING
93 #ifndef NO_BULK_LOGGING
100 #ifndef NO_BULK_LOGGING
157 #define cnat_nfv9_get_sys_up_time_in_ms cnat_get_sys_up_time_in_ms 159 #define cnat_nfv9_get_unix_time_in_seconds cnat_get_unix_time_in_seconds 161 #define cnat_nfv9_dump_time_change_logs cnat_dump_time_change_logs 168 #define CNAT_NFV9_VERSION_NUMBER 9 170 #define CNAT_NFV9_TEMPLATE_FLOWSET_ID 0 171 #define CNAT_NFV9_OPTION_TEMPLATE_FLOWSET_ID 1 173 #define CNAT_NFV9_ADD_FIELD_COUNT 7 174 #define CNAT_NFV9_DEL_FIELD_COUNT 4 175 #define CNAT_NFV9_DS_LITE_ADD_FIELD_COUNT 8 176 #define CNAT_NFV9_DS_LITE_DEL_FIELD_COUNT 5 177 #define CNAT_NFV9_NAT64_ADD_BIB_FIELD_COUNT 5 178 #define CNAT_NFV9_NAT64_DEL_BIB_FIELD_COUNT 3 179 #define CNAT_NFV9_NAT64_ADD_SESSION_FIELD_COUNT 8 180 #define CNAT_NFV9_NAT64_DEL_SESSION_FIELD_COUNT 5 181 #define CNAT_NFV9_NAT44_ADD_SESSION_FIELD_COUNT 9 182 #define CNAT_NFV9_NAT44_DEL_SESSION_FIELD_COUNT 6 183 #define CNAT_NFV9_DS_LITE_ADD_SESSION_FIELD_COUNT 10 184 #define CNAT_NFV9_DS_LITE_DEL_SESSION_FIELD_COUNT 7 186 #define CNAT_NFV9_ADD_TEMPLATE_ID 256 187 #define CNAT_NFV9_DEL_TEMPLATE_ID 257 188 #define CNAT_NFV9_NAT64_ADD_BIB_TEMPLATE_ID 258 189 #define CNAT_NFV9_NAT64_DEL_BIB_TEMPLATE_ID 259 190 #define CNAT_NFV9_NAT64_ADD_SESSION_TEMPLATE_ID 260 191 #define CNAT_NFV9_NAT64_DEL_SESSION_TEMPLATE_ID 261 192 #define CNAT_NFV9_INGRESS_VRF_ID_NAME_TEMPLATE_ID 262 193 #define CNAT_NFV9_DS_LITE_ADD_TEMPLATE_ID 267 194 #define CNAT_NFV9_DS_LITE_DEL_TEMPLATE_ID 268 195 #define CNAT_NFV9_NAT44_ADD_SESSION_TEMPLATE_ID 271 196 #define CNAT_NFV9_NAT44_DEL_SESSION_TEMPLATE_ID 272 197 #define CNAT_NFV9_DS_LITE_ADD_SESSION_TEMPLATE_ID 273 198 #define CNAT_NFV9_DS_LITE_DEL_SESSION_TEMPLATE_ID 274 200 #ifndef NO_BULK_LOGGING 201 #define CNAT_NFV9_NAT44_BULK_ADD_TEMPLATE_ID 265 202 #define CNAT_NFV9_NAT44_BULK_DEL_TEMPLATE_ID 266 203 #define CNAT_NFV9_DS_LITE_BULK_ADD_TEMPLATE_ID 269 204 #define CNAT_NFV9_DS_LITE_BULK_DEL_TEMPLATE_ID 270 206 #define CNAT_NFV9_NAT44_BULK_ADD_FIELD_COUNT 6 207 #define CNAT_NFV9_NAT44_BULK_DEL_FIELD_COUNT 3 208 #define CNAT_NFV9_DS_LITE_BULK_ADD_FIELD_COUNT 7 209 #define CNAT_NFV9_DS_LITE_BULK_DEL_FIELD_COUNT 4 211 #define CNAT_NFV9_OUTSIDE_IP_PORT_START_FIELD_TYPE 361 212 #define CNAT_NFV9_OUTSIDE_IP_PORT_START_FIELD_SIZE 2 214 #define CNAT_NFV9_OUTSIDE_IP_PORT_END_FIELD_TYPE 362 215 #define CNAT_NFV9_OUTSIDE_IP_PORT_END_FIELD_SIZE 2 219 #define CNAT_NFV9_INGRESS_VRF_NAME_FIELD_TYPE 236 220 #define CNAT_NFV9_INGRESS_VRF_NAME_FIELD_SIZE 12 222 #define CNAT_NFV9_INGRESS_VRF_ID_NAME_OPTION_LEN 8 225 #define CNAT_NFV9_INSIDE_VRFID_FIELD_TYPE 234 226 #define CNAT_NFV9_INSIDE_VRFID_FIELD_SIZE 4 228 #define CNAT_NFV9_OUTSIDE_VRFID_FIELD_TYPE 235 229 #define CNAT_NFV9_OUTSIDE_VRFID_FIELD_SIZE 4 231 #define CNAT_NFV9_INSIDE_IP_ADDR_FIELD_TYPE 8 232 #define CNAT_NFV9_INSIDE_IP_ADDR_FIELD_SIZE 4 234 #define CNAT_NFV9_OUTSIDE_IP_ADDR_FIELD_TYPE 225 235 #define CNAT_NFV9_OUTSIDE_IP_ADDR_FIELD_SIZE 4 237 #define CNAT_NFV9_INSIDE_IP_PORT_FIELD_TYPE 7 238 #define CNAT_NFV9_INSIDE_IP_PORT_FIELD_SIZE 2 240 #define CNAT_NFV9_OUTSIDE_IP_PORT_FIELD_TYPE 227 241 #define CNAT_NFV9_OUTSIDE_IP_PORT_FIELD_SIZE 2 243 #define CNAT_NFV9_PROTOCOL_FIELD_TYPE 4 244 #define CNAT_NFV9_PROTOCOL_FIELD_SIZE 1 248 #define CNAT_NFV9_INSIDE_IPV6_SRC_ADDR_FIELD_TYPE 27 249 #define CNAT_NFV9_INSIDE_IPV6_SRC_ADDR_FIELD_SIZE 16 251 #define CNAT_NFV9_INSIDE_IPV6_DST_ADDR_FIELD_TYPE 28 252 #define CNAT_NFV9_INSIDE_IPV6_DST_ADDR_FIELD_SIZE 16 254 #define CNAT_NFV9_OUTSIDE_IP_DST_ADDR_FIELD_TYPE 226 255 #define CNAT_NFV9_OUTSIDE_IP_DST_ADDR_FIELD_SIZE 4 257 #define CNAT_NFV9_INSIDE_DST_PORT_FIELD_TYPE 11 258 #define CNAT_NFV9_INSIDE_DST_PORT_FIELD_SIZE 2 260 #define CNAT_NFV9_DESTINATION_IP_ADDR_FIELD_TYPE 12 261 #define CNAT_NFV9_DESTINATION_IP_ADDR_FIELD_SIZE 4 276 #define CNAT_NFV9_SOURCE_ID_VALUE 0x1234 335 u16 nat64_add_bib_template_id;
336 u16 nat64_add_bib_field_count;
337 u16 nat64_add_bib_inside_ipv6_addr_field_type;
338 u16 nat64_add_bib_inside_ipv6_addr_field_size;
339 u16 nat64_add_bib_outside_ip_addr_field_type;
340 u16 nat64_add_bib_outside_ip_addr_field_size;
341 u16 nat64_add_bib_inside_ip_port_field_type;
342 u16 nat64_add_bib_inside_ip_port_field_size;
343 u16 nat64_add_bib_outside_ip_port_field_type;
344 u16 nat64_add_bib_outside_ip_port_field_size;
345 u16 nat64_add_bib_protocol_field_type;
346 u16 nat64_add_bib_protocol_field_size;
348 u16 nat64_del_bib_template_id;
349 u16 nat64_del_bib_field_count;
350 u16 nat64_del_bib_inside_ip_addr_field_type;
351 u16 nat64_del_bib_inside_ip_addr_field_size;
352 u16 nat64_del_bib_inside_ip_port_field_type;
353 u16 nat64_del_bib_inside_ip_port_field_size;
354 u16 nat64_del_bib_protocol_field_type;
355 u16 nat64_del_bib_protocol_field_size;
358 u16 nat64_add_session_template_id;
359 u16 nat64_add_session_field_count;
360 u16 nat64_add_session_inside_ipv6_src_addr_field_type;
361 u16 nat64_add_session_inside_ipv6_src_addr_field_size;
362 u16 nat64_add_session_outside_ip_src_addr_field_type;
363 u16 nat64_add_session_outside_ip_src_addr_field_size;
364 u16 nat64_add_session_inside_ipv6_dst_addr_field_type;
365 u16 nat64_add_session_inside_ipv6_dst_addr_field_size;
366 u16 nat64_add_session_outside_ip_dst_addr_field_type;
367 u16 nat64_add_session_outside_ip_dst_addr_field_size;
368 u16 nat64_add_session_inside_ip_src_port_field_type;
369 u16 nat64_add_session_inside_ip_src_port_field_size;
370 u16 nat64_add_session_outside_ip_src_port_field_type;
371 u16 nat64_add_session_outside_ip_src_port_field_size;
372 u16 nat64_add_session_ip_dest_port_field_type;
373 u16 nat64_add_session_ip_dest_port_field_size;
374 u16 nat64_add_session_protocol_field_type;
375 u16 nat64_add_session_protocol_field_size;
377 u16 nat64_del_session_template_id;
378 u16 nat64_del_session_field_count;
379 u16 nat64_del_session_inside_ip_src_addr_field_type;
380 u16 nat64_del_session_inside_ip_src_addr_field_size;
381 u16 nat64_del_session_inside_ip_dst_addr_field_type;
382 u16 nat64_del_session_inside_ip_dst_addr_field_size;
383 u16 nat64_del_session_inside_ip_src_port_field_type;
384 u16 nat64_del_session_inside_ip_src_port_field_size;
385 u16 nat64_del_session_inside_ip_dst_port_field_type;
386 u16 nat64_del_session_inside_ip_dst_port_field_size;
387 u16 nat64_del_session_protocol_field_type;
388 u16 nat64_del_session_protocol_field_size;
393 u16 add_dslite_template_id;
394 u16 add_dslite_field_count;
395 u16 add_dslite_inside_vrf_id_field_type;
396 u16 add_dslite_inside_vrf_id_field_size;
397 u16 add_dslite_outside_vrf_id_field_type;
398 u16 add_dslite_outside_vrf_id_field_size;
399 u16 add_dslite_inside_ip_addr_field_type;
400 u16 add_dslite_inside_ip_addr_field_size;
401 u16 add_dslite_inside_ipv6_addr_field_type;
402 u16 add_dslite_inside_ipv6_addr_field_size;
403 u16 add_dslite_outside_ip_addr_field_type;
404 u16 add_dslite_outside_ip_addr_field_size;
405 u16 add_dslite_inside_ip_port_field_type;
406 u16 add_dslite_inside_ip_port_field_size;
407 u16 add_dslite_outside_ip_port_field_type;
408 u16 add_dslite_outside_ip_port_field_size;
409 u16 add_dslite_protocol_field_type;
410 u16 add_dslite_protocol_field_size;
412 u16 del_dslite_template_id;
413 u16 del_dslite_field_count;
414 u16 del_dslite_inside_vrf_id_field_type;
415 u16 del_dslite_inside_vrf_id_field_size;
416 u16 del_dslite_inside_ip_addr_field_type;
417 u16 del_dslite_inside_ip_addr_field_size;
418 u16 del_dslite_inside_ipv6_addr_field_type;
419 u16 del_dslite_inside_ipv6_addr_field_size;
420 u16 del_dslite_inside_ip_port_field_type;
421 u16 del_dslite_inside_ip_port_field_size;
422 u16 del_dslite_protocol_field_type;
423 u16 del_dslite_protocol_field_size;
428 u16 bulk_add_template_id;
429 u16 bulk_add_field_count;
430 u16 bulk_add_inside_vrf_id_field_type;
431 u16 bulk_add_inside_vrf_id_field_size;
432 u16 bulk_add_outside_vrf_id_field_type;
433 u16 bulk_add_outside_vrf_id_field_size;
434 u16 bulk_add_inside_ip_addr_field_type;
435 u16 bulk_add_inside_ip_addr_field_size;
436 u16 bulk_add_outside_ip_addr_field_type;
437 u16 bulk_add_outside_ip_addr_field_size;
438 u16 bulk_add_outside_start_port_field_type;
439 u16 bulk_add_outside_start_port_field_size;
440 u16 bulk_add_outside_end_port_field_type;
441 u16 bulk_add_outside_end_port_field_size;
443 u16 bulk_del_template_id;
444 u16 bulk_del_field_count;
445 u16 bulk_del_inside_vrf_id_field_type;
446 u16 bulk_del_inside_vrf_id_field_size;
447 u16 bulk_del_inside_ip_addr_field_type;
448 u16 bulk_del_inside_ip_addr_field_size;
449 u16 bulk_del_outside_start_port_field_type;
450 u16 bulk_del_outside_start_port_field_size;
454 u16 bulk_dslite_add_template_id;
455 u16 bulk_dslite_add_field_count;
456 u16 bulk_dslite_add_inside_vrf_id_field_type;
457 u16 bulk_dslite_add_inside_vrf_id_field_size;
458 u16 bulk_dslite_add_outside_vrf_id_field_type;
459 u16 bulk_dslite_add_outside_vrf_id_field_size;
460 u16 bulk_dslite_add_inside_ip_addr_field_type;
461 u16 bulk_dslite_add_inside_ip_addr_field_size;
462 u16 bulk_dslite_add_inside_ipv6_addr_field_type;
463 u16 bulk_dslite_add_inside_ipv6_addr_field_size;
464 u16 bulk_dslite_add_outside_ip_addr_field_type;
465 u16 bulk_dslite_add_outside_ip_addr_field_size;
466 u16 bulk_dslite_add_outside_start_port_field_type;
467 u16 bulk_dslite_add_outside_start_port_field_size;
468 u16 bulk_dslite_add_outside_end_port_field_type;
469 u16 bulk_dslite_add_outside_end_port_field_size;
471 u16 bulk_dslite_del_template_id;
472 u16 bulk_dslite_del_field_count;
473 u16 bulk_dslite_del_inside_vrf_id_field_type;
474 u16 bulk_dslite_del_inside_vrf_id_field_size;
475 u16 bulk_dslite_del_inside_ip_addr_field_type;
476 u16 bulk_dslite_del_inside_ip_addr_field_size;
477 u16 bulk_dslite_del_inside_ipv6_addr_field_type;
478 u16 bulk_dslite_del_inside_ipv6_addr_field_size;
479 u16 bulk_dslite_del_outside_start_port_field_type;
480 u16 bulk_dslite_del_outside_start_port_field_size;
521 u16 add_dslite_session_template_id;
522 u16 add_dslite_session_field_count;
523 u16 add_dslite_session_inside_vrf_id_field_type;
524 u16 add_dslite_session_inside_vrf_id_field_size;
525 u16 add_dslite_session_outside_vrf_id_field_type;
526 u16 add_dslite_session_outside_vrf_id_field_size;
527 u16 add_dslite_session_inside_ip_addr_field_type;
528 u16 add_dslite_session_inside_ip_addr_field_size;
529 u16 add_dslite_session_inside_ipv6_addr_field_type;
530 u16 add_dslite_session_inside_ipv6_addr_field_size;
531 u16 add_dslite_session_outside_ip_addr_field_type;
532 u16 add_dslite_session_outside_ip_addr_field_size;
533 u16 add_dslite_session_inside_ip_port_field_type;
534 u16 add_dslite_session_inside_ip_port_field_size;
535 u16 add_dslite_session_outside_ip_port_field_type;
536 u16 add_dslite_session_outside_ip_port_field_size;
537 u16 add_dslite_session_dest_ip_addr_field_type;
538 u16 add_dslite_session_dest_ip_addr_field_size;
539 u16 add_dslite_session_dest_port_field_type;
540 u16 add_dslite_session_dest_port_field_size;
541 u16 add_dslite_session_protocol_field_type;
542 u16 add_dslite_session_protocol_field_size;
544 u16 del_dslite_session_template_id;
545 u16 del_dslite_session_field_count;
546 u16 del_dslite_session_inside_vrf_id_field_type;
547 u16 del_dslite_session_inside_vrf_id_field_size;
548 u16 del_dslite_session_inside_ip_addr_field_type;
549 u16 del_dslite_session_inside_ip_addr_field_size;
550 u16 del_dslite_session_inside_ipv6_addr_field_type;
551 u16 del_dslite_session_inside_ipv6_addr_field_size;
552 u16 del_dslite_session_dest_ip_addr_field_type;
553 u16 del_dslite_session_dest_ip_addr_field_size;
554 u16 del_dslite_session_inside_ip_port_field_type;
555 u16 del_dslite_session_inside_ip_port_field_size;
556 u16 del_dslite_session_dest_port_field_type;
557 u16 del_dslite_session_dest_port_field_size;
558 u16 del_dslite_session_protocol_field_type;
559 u16 del_dslite_session_protocol_field_size;
585 #define CNAT_NFV9_ADD_RECORD_PAD_BYTES (3) 586 #define CNAT_NFV9_DEL_RECORD_PAD_BYTES (1) 588 #define CNAT_NFV9_NAT64_ADD_BIB_RECORD_PAD_BYTES (3) 589 #define CNAT_NFV9_NAT64_DEL_BIB_RECORD_PAD_BYTES (1) 590 #define CNAT_NFV9_NAT64_ADD_SESSION_RECORD_PAD_BYTES (1) 591 #define CNAT_NFV9_NAT64_DEL_SESSION_RECORD_PAD_BYTES (3) 592 #define CNAT_NFV9_NAT44_ADD_SESSION_RECORD_PAD_BYTES (1) 593 #define CNAT_NFV9_NAT44_DEL_SESSION_RECORD_PAD_BYTES (3) 595 #define CNAT_NFV9_DS_LITE_ADD_RECORD_PAD_BYTES (3) 596 #define CNAT_NFV9_DS_LITE_DEL_RECORD_PAD_BYTES (1) 597 #define CNAT_NFV9_DS_LITE_ADD_SESSION_RECORD_PAD_BYTES (1) 598 #define CNAT_NFV9_DS_LITE_DEL_SESSION_RECORD_PAD_BYTES (3) 600 #define CNAT_NFV9_INGRESS_VRFID_NAME_RECORD_PAD_BYTES (0) 624 #ifndef NO_BULK_LOGGING 626 #define CNAT_NFV9_BULK_ADD_RECORD_PAD_BYTES (0) 627 #define CNAT_NFV9_BULK_DEL_RECORD_PAD_BYTES (2) 653 #define CNAT_NFV9_DS_LITE_BULK_ADD_RECORD_PAD_BYTES (0) 654 #define CNAT_NFV9_DS_LITE_BULK_DEL_RECORD_PAD_BYTES (2) 660 u32 inside_v6_src_addr[4];
675 u32 inside_v6_src_addr[4];
685 u32 inside_v6_src_addr[4];
695 u32 inside_v6_src_addr[4];
697 u32 inside_v6_dest_addr[4];
708 u32 inside_v6_src_addr[4];
716 u32 inside_v6_src_addr[4];
717 u32 inside_v6_dest_addr[4];
760 u32 inside_v6_src_addr[4];
771 u32 inside_v6_src_addr[4];
784 u32 inside_v6_src_addr[4];
800 u32 inside_v6_src_addr[4];
815 #define CNAT_NFV9_TEMPLATE_OFFSET \ 816 (CNAT_NFV9_HDR_OFFSET + sizeof(nfv9_header_t)) 818 #define CNAT_NFV9_TEMPLATE_LENGTH (sizeof(cnat_nfv9_template_t)) 819 #define CNAT_NFV9_OPTION_TEMPLATE_LENGTH (sizeof(cnat_nfv9_option_template_t)) 821 #define CNAT_NFV9_DATAFLOW_RECORD_HEADER_LENGTH \ 822 (sizeof(nfv9_dataflow_record_header_t)) 828 #define CNAT_NFV9_ADD_RECORD_LENGTH (sizeof(nfv9_add_record_t) - \ 829 CNAT_NFV9_ADD_RECORD_PAD_BYTES) 831 #define CNAT_NFV9_DEL_RECORD_LENGTH (sizeof(nfv9_del_record_t) - \ 832 CNAT_NFV9_DEL_RECORD_PAD_BYTES) 834 #define CNAT_NFV9_DS_LITE_ADD_RECORD_LENGTH (sizeof(nfv9_ds_lite_add_record_t) - \ 835 CNAT_NFV9_DS_LITE_ADD_RECORD_PAD_BYTES) 836 #define CNAT_NFV9_DS_LITE_DEL_RECORD_LENGTH (sizeof(nfv9_ds_lite_del_record_t) - \ 837 CNAT_NFV9_DS_LITE_DEL_RECORD_PAD_BYTES) 838 #ifndef NO_BULK_LOGGING 839 #define CNAT_NFV9_BULK_ADD_RECORD_LENGTH (sizeof(nfv9_bulk_add_record_t) - \ 840 CNAT_NFV9_BULK_ADD_RECORD_PAD_BYTES) 841 #define CNAT_NFV9_BULK_DEL_RECORD_LENGTH (sizeof(nfv9_bulk_del_record_t) - \ 842 CNAT_NFV9_BULK_DEL_RECORD_PAD_BYTES) 844 #define CNAT_NFV9_DS_LITE_BULK_ADD_RECORD_LENGTH (sizeof(nfv9_ds_lite_bulk_add_record_t) - \ 845 CNAT_NFV9_DS_LITE_BULK_ADD_RECORD_PAD_BYTES) 846 #define CNAT_NFV9_DS_LITE_BULK_DEL_RECORD_LENGTH (sizeof(nfv9_ds_lite_bulk_del_record_t) - \ 847 CNAT_NFV9_DS_LITE_BULK_DEL_RECORD_PAD_BYTES) 852 #define CNAT_NFV9_INGRESS_VRFID_NAME_RECORD_LENGTH (sizeof(nfv9_ingress_vrfid_name_record_t) - \ 853 CNAT_NFV9_INGRESS_VRFID_NAME_RECORD_PAD_BYTES) 855 #define CNAT_NFV9_NAT64_ADD_BIB_RECORD_LENGTH \ 856 (sizeof(nfv9_nat64_add_bib_record_t) - \ 857 CNAT_NFV9_NAT64_ADD_BIB_RECORD_PAD_BYTES) 859 #define CNAT_NFV9_NAT64_DEL_BIB_RECORD_LENGTH \ 860 (sizeof(nfv9_nat64_del_bib_record_t) - \ 861 CNAT_NFV9_NAT64_DEL_BIB_RECORD_PAD_BYTES) 863 #define CNAT_NFV9_NAT64_ADD_SESSION_RECORD_LENGTH \ 864 (sizeof(nfv9_nat64_add_session_record_t) - \ 865 CNAT_NFV9_NAT64_ADD_SESSION_RECORD_PAD_BYTES) 867 #define CNAT_NFV9_NAT64_DEL_SESSION_RECORD_LENGTH \ 868 (sizeof(nfv9_nat64_del_session_record_t) - \ 869 CNAT_NFV9_NAT64_DEL_SESSION_RECORD_PAD_BYTES) 871 #define CNAT_NFV9_MAX_SINGLE_RECORD_LENGTH \ 872 (sizeof(nfv9_ds_lite_add_session_record_t) - \ 873 CNAT_NFV9_DS_LITE_ADD_SESSION_RECORD_PAD_BYTES) 875 #define CNAT_NFV9_NAT44_ADD_SESSION_RECORD_LENGTH \ 876 (sizeof(nfv9_add_session_record_t) -\ 877 CNAT_NFV9_NAT44_ADD_SESSION_RECORD_PAD_BYTES) 879 #define CNAT_NFV9_NAT44_DEL_SESSION_RECORD_LENGTH \ 880 (sizeof(nfv9_del_session_record_t) -\ 881 CNAT_NFV9_NAT44_DEL_SESSION_RECORD_PAD_BYTES) 883 #define CNAT_NFV9_DS_LITE_ADD_SESSION_RECORD_LENGTH \ 884 (sizeof(nfv9_ds_lite_add_session_record_t) -\ 885 CNAT_NFV9_DS_LITE_ADD_SESSION_RECORD_PAD_BYTES) 887 #define CNAT_NFV9_DS_LITE_DEL_SESSION_RECORD_LENGTH \ 888 (sizeof(nfv9_ds_lite_del_session_record_t) -\ 889 CNAT_NFV9_DS_LITE_DEL_SESSION_RECORD_PAD_BYTES) 894 #define CNAT_NFV9_MIN_RECORD_SIZE (60 + \ 895 CNAT_NFV9_DATAFLOW_RECORD_HEADER_LENGTH + \ 896 CNAT_NFV9_TEMPLATE_LENGTH + \ 897 CNAT_NFV9_MAX_SINGLE_RECORD_LENGTH) 902 #define CNAT_NFV9_MAX_PKT_LENGTH 1400 907 #define CNAT_NFV9_INVALID_LOGGING_INDEX 0xffffffff 912 #define NFV9_PAD_VALUE (3) 1054 #ifdef DEBUG_NF_SERVER_CONFIG 1066 #ifdef DEBUG_NF_SERVER_CONFIG 1074 pool_put(nfv9_server_info_pool, server);
1077 #ifdef DEBUG_NF_SERVER_CONFIG
void cnat_nfv9_log_mapping_delete(cnat_main_db_entry_t *db, cnat_vrfmap_t *vrfmap, int bulk_alloc)
u16 add_inside_vrf_id_field_type
u16 add_outside_ip_addr_field_type
u16 del_protocol_field_size
u32 pkts_since_last_template
u16 ingress_vrfid_name_map_scope_len
u8 pad[3]
log2 (size of the packing page block)
u16 add_outside_vrf_id_field_size
u16 nat44_session_del_dest_port_field_size
#define CNAT_NFV9_DS_LITE_BULK_DEL_RECORD_PAD_BYTES
cnat_nfv9_template_add_flag_t
u16 nat44_session_del_inside_ip_port_field_type
u16 nat44_session_del_dest_ip_addr_field_type
#define CNAT_NFV9_NAT64_DEL_SESSION_RECORD_PAD_BYTES
u16 nat44_session_del_template_id
Fixed length block allocator.
u16 nat44_session_add_protocol_field_type
u16 ingress_vrfid_name_map_vrfname_option_type
nfv9_header_t * nfv9_header
u16 add_protocol_field_type
u16 nat44_session_del_inside_ip_addr_field_type
#define CNAT_NFV9_NAT64_DEL_BIB_RECORD_PAD_BYTES
void cnat_nfv9_nat44_log_session_delete(cnat_main_db_entry_t *db, cnat_session_entry_t *sdb, cnat_vrfmap_t *vrfmap)
u16 add_inside_ip_addr_field_type
u16 del_protocol_field_type
nfv9_dataflow_record_header_t * dataflow_header
u16 ingress_vrfid_name_map_vrfname_option_len
u16 outside_ip_port_start
u16 nat44_session_add_dest_port_field_type
u16 nat44_session_del_inside_ip_port_field_size
u16 nat44_session_add_outside_vrf_id_field_type
u16 del_inside_ip_addr_field_size
u32 cnat_nfv9_global_collector_index
u16 nat44_session_add_template_id
u16 nat44_session_add_outside_ip_port_field_type
cnat_nfv9_global_info_t cnat_nfv9_global_info
#define CNAT_NFV9_DS_LITE_DEL_SESSION_RECORD_PAD_BYTES
u16 add_inside_ip_port_field_type
u16 nat44_session_add_outside_ip_port_field_size
u16 nat44_session_add_dest_ip_addr_field_size
#define CNAT_NFV9_DS_LITE_ADD_SESSION_RECORD_PAD_BYTES
u16 del_inside_ip_port_field_size
vlib_buffer_t * queued_logging_context
void cnat_syslog_nat44_mapping_delete(cnat_main_db_entry_t *db, cnat_vrfmap_t *vrfmap, cnat_session_entry_t *sdb, int bulk_alloc)
u16 nat44_session_add_inside_vrf_id_field_size
void cnat_nfv9_logging_init()
void cnat_nfv9_bib_mapping_create(nat64_bib_entry_t *db, nat64_table_entry_t *nat64_entry)
u16 add_outside_ip_port_field_size
u16 outside_ip_port_start
u16 nat44_session_del_dest_port_field_type
u16 max_length_minus_max_record_size
#define CNAT_NFV9_DS_LITE_DEL_RECORD_PAD_BYTES
void cnat_nfv9_nat44_log_session_create(cnat_main_db_entry_t *db, cnat_session_entry_t *sdb, cnat_vrfmap_t *vrfmap)
u16 ingress_vrfid_name_map_template_id
u16 nat44_session_del_inside_vrf_id_field_type
u16 cnat_nfv9_disp_node_index
u16 nat44_session_del_protocol_field_type
u16 add_inside_ip_addr_field_size
#define CNAT_NFV9_ADD_RECORD_PAD_BYTES
u16 ingress_vrfid_name_map_vrfid_option_len
nfv9_server_info_t * nfv9_server_info_pool
u16 nat44_session_del_dest_ip_addr_field_size
#define CNAT_NFV9_INGRESS_VRFID_NAME_RECORD_PAD_BYTES
u16 del_inside_ip_port_field_type
void cnat_nfv9_session_mapping_create(nat64_bib_entry_t *bdb, nat64_session_entry_t *sdb, nat64_table_entry_t *nat64_entry_ptr)
u32 current_logging_context_timestamp
u16 nat44_session_add_inside_ip_port_field_type
#define NFV9_VRF_NAME_LEN
#define pool_put(P, E)
Free an object E in pool P.
void cnat_nfv9_ds_lite_mapping_create(cnat_main_db_entry_t *db, dslite_table_entry_t *dslite_entry, int bulk_alloc)
u16 nat44_session_add_field_count
u16 nat44_session_add_outside_ip_addr_field_size
cnat_nfv9_logging_info_t * cnat_nfv9_logging_info_pool
u16 nat44_session_add_inside_ip_addr_field_type
u16 add_protocol_field_size
u32 last_template_sent_time
void cnat_nfv9_session_mapping_delete(nat64_bib_entry_t *bdb, nat64_session_entry_t *sdb, nat64_table_entry_t *nat64_entry_ptr)
u32 pkts_since_last_template
u16 ingress_vrfid_name_map_option_len
void handle_pending_nfv9_pkts()
u16 add_outside_vrf_id_field_type
u16 outside_ip_port_start
cnat_nfv9_template_t cnat_nfv9_template_info
u16 nat44_session_add_dest_ip_addr_field_type
static void nfv9_delete_server_info(cnat_nfv9_logging_info_t *nfv9_info)
#define CNAT_NFV9_NAT64_ADD_BIB_RECORD_PAD_BYTES
u16 nat44_session_add_inside_vrf_id_field_type
u16 ingress_vrfid_name_map_vrfid_option_type
#define CNAT_NFV9_NAT44_ADD_SESSION_RECORD_PAD_BYTES
u16 nat44_session_del_protocol_field_size
u16 del_inside_vrf_id_field_size
void cnat_nfv9_log_mapping_create(cnat_main_db_entry_t *db, cnat_vrfmap_t *vrfmap, int bulk_alloc)
#define CNAT_NFV9_NAT64_ADD_SESSION_RECORD_PAD_BYTES
cnat_nfv9_template_t * nfv9_template_header
u16 nat44_session_add_outside_vrf_id_field_size
u16 nat44_session_del_field_count
u16 nat44_session_del_inside_ip_addr_field_size
#define CNAT_NFV9_DEL_RECORD_PAD_BYTES
u16 nat44_session_add_inside_ip_port_field_size
Bitmaps built as vectors of machine words.
u16 outside_ip_port_start
u32 last_template_sent_time
cnat_nfv9_logging_info_t cnat_default_nfv9_logging_info
void cnat_nfv9_ds_lite_mapping_delete(cnat_main_db_entry_t *db, dslite_table_entry_t *dslite_entry, int bulk_alloc)
#define CNAT_NFV9_BULK_DEL_RECORD_PAD_BYTES
void cnat_nfv9_ds_lite_log_session_delete(cnat_main_db_entry_t *db, dslite_table_entry_t *dslite_entry, cnat_session_entry_t *sdb)
u16 nat44_session_add_outside_ip_addr_field_type
#define CNAT_NFV9_DS_LITE_ADD_RECORD_PAD_BYTES
u16 add_inside_ip_port_field_size
u16 add_outside_ip_addr_field_size
u16 cnat_template_id[MAX_RECORDS]
#define CNAT_NFV9_NAT44_DEL_SESSION_RECORD_PAD_BYTES
u16 add_outside_ip_port_field_type
u16 del_inside_vrf_id_field_type
#define CNAT_NFV9_BULK_ADD_RECORD_PAD_BYTES
u32 nfv9_logging_next_index
vlib_buffer_t * current_logging_context
u16 del_inside_ip_addr_field_type
u16 nat44_session_add_protocol_field_size
u16 nat44_session_del_inside_vrf_id_field_size
#define CNAT_NFV9_DS_LITE_BULK_ADD_RECORD_PAD_BYTES
cnat_nfv9_option_template_t cnat_nfv9_option_template
void cnat_syslog_nat44_mapping_create(cnat_main_db_entry_t *db, cnat_vrfmap_t *vrfmap, cnat_session_entry_t *sdb, int bulk_alloc)
void cnat_nfv9_ds_lite_log_session_create(cnat_main_db_entry_t *db, dslite_table_entry_t *dslite_entry, cnat_session_entry_t *sdb)
u16 nat44_session_add_dest_port_field_size
void cnat_nfv9_bib_mapping_delete(nat64_bib_entry_t *db, nat64_table_entry_t *nat64_entry)
u16 add_inside_vrf_id_field_size
CLIB vectors are ubiquitous dynamically resized arrays with by user defined "headers".
u16 nat44_session_add_inside_ip_addr_field_size