Lines Matching +full:break +full:- +full:control
26 #include "netdissect-stdinc.h"
60 #define HIORD 0x000400aa /* high 32-bits of address (swapped) */
63 #define AREASHIFT 10 /* bit-offset for area field */
109 #define RMF_IE 040 /* intra-ethernet packet */
118 * 2. Control packet formats.
121 #define RMF_CTLMSG 01 /* control message indicator */
156 * Define control message formats.
242 /* Macros for decoding routing-info fields */
256 #define MFT_CTL 010 /* control message */
283 #define SGQ_EOM 0100000 /* pseudo flag for end-of-message */
295 #define COS_MASK 014 /* mask for flow control field */
296 #define COS_NONE 0 /* no flow control */
297 #define COS_SEGMENT 04 /* segment flow control */
298 #define COS_MESSAGE 010 /* message flow control */
307 #define MNU_MASK 140 /* mask for session control version */
310 #define MNU_ACCESS 1 /* access control present */
313 #define MNU_UICPROXY 8 /* use uic-based proxy */
329 #define DI_BADACCESS 34 /* bad access control information */
349 #define UC_ACCESSREJECT 34 /* invalid access control information */
382 byte ls_fcval; /* flow control value */
477 ndo->ndo_protocol = "decnet"; in decnet_print()
495 mflags = GET_U_1(rhp->rh_short.sh_flags); in decnet_print()
500 if (ndo->ndo_vflag) in decnet_print()
508 length -= padlen; in decnet_print()
509 caplen -= padlen; in decnet_print()
511 mflags = GET_U_1(rhp->rh_short.sh_flags); in decnet_print()
515 ND_PRINT("future-version-decnet"); in decnet_print()
520 /* is it a control message? */ in decnet_print()
533 ND_TCHECK_SIZE(&rhp->rh_long); in decnet_print()
535 GET_LE_U_2(rhp->rh_long.lg_dst.dne_remote.dne_nodeaddr); in decnet_print()
537 GET_LE_U_2(rhp->rh_long.lg_src.dne_remote.dne_nodeaddr); in decnet_print()
538 hops = GET_U_1(rhp->rh_long.lg_visits); in decnet_print()
540 nsplen = length - sizeof(struct longhdr); in decnet_print()
541 break; in decnet_print()
543 dst = GET_LE_U_2(rhp->rh_short.sh_dst); in decnet_print()
544 src = GET_LE_U_2(rhp->rh_short.sh_src); in decnet_print()
545 hops = (GET_U_1(rhp->rh_short.sh_visits) & VIS_MASK)+1; in decnet_print()
547 nsplen = length - sizeof(struct shorthdr); in decnet_print()
548 break; in decnet_print()
557 if (ndo->ndo_vflag) { in decnet_print()
581 u_int mflags = GET_U_1(rhp->rh_short.sh_flags); in print_decnet_ctlmsg()
593 ND_TCHECK_SIZE(&cmp->cm_init); in print_decnet_ctlmsg()
594 src = GET_LE_U_2(cmp->cm_init.in_src); in print_decnet_ctlmsg()
595 info = GET_U_1(cmp->cm_init.in_info); in print_decnet_ctlmsg()
596 blksize = GET_LE_U_2(cmp->cm_init.in_blksize); in print_decnet_ctlmsg()
597 vers = GET_U_1(cmp->cm_init.in_vers); in print_decnet_ctlmsg()
598 eco = GET_U_1(cmp->cm_init.in_eco); in print_decnet_ctlmsg()
599 ueco = GET_U_1(cmp->cm_init.in_ueco); in print_decnet_ctlmsg()
600 hello = GET_LE_U_2(cmp->cm_init.in_hello); in print_decnet_ctlmsg()
605 break; in print_decnet_ctlmsg()
610 src = GET_LE_U_2(cmp->cm_ver.ve_src); in print_decnet_ctlmsg()
611 other = GET_U_1(cmp->cm_ver.ve_fcnval); in print_decnet_ctlmsg()
613 break; in print_decnet_ctlmsg()
618 src = GET_LE_U_2(cmp->cm_test.te_src); in print_decnet_ctlmsg()
619 other = GET_U_1(cmp->cm_test.te_data); in print_decnet_ctlmsg()
621 break; in print_decnet_ctlmsg()
623 ND_PRINT("lev-1-routing "); in print_decnet_ctlmsg()
626 ND_TCHECK_SIZE(&cmp->cm_l1rou); in print_decnet_ctlmsg()
627 src = GET_LE_U_2(cmp->cm_l1rou.r1_src); in print_decnet_ctlmsg()
630 length - sizeof(struct l1rout)); in print_decnet_ctlmsg()
631 break; in print_decnet_ctlmsg()
633 ND_PRINT("lev-2-routing "); in print_decnet_ctlmsg()
636 ND_TCHECK_SIZE(&cmp->cm_l2rout); in print_decnet_ctlmsg()
637 src = GET_LE_U_2(cmp->cm_l2rout.r2_src); in print_decnet_ctlmsg()
640 length - sizeof(struct l2rout)); in print_decnet_ctlmsg()
641 break; in print_decnet_ctlmsg()
643 ND_PRINT("router-hello "); in print_decnet_ctlmsg()
646 ND_TCHECK_SIZE(&cmp->cm_rhello); in print_decnet_ctlmsg()
647 vers = GET_U_1(cmp->cm_rhello.rh_vers); in print_decnet_ctlmsg()
648 eco = GET_U_1(cmp->cm_rhello.rh_eco); in print_decnet_ctlmsg()
649 ueco = GET_U_1(cmp->cm_rhello.rh_ueco); in print_decnet_ctlmsg()
651 GET_LE_U_2(cmp->cm_rhello.rh_src.dne_remote.dne_nodeaddr); in print_decnet_ctlmsg()
652 info = GET_U_1(cmp->cm_rhello.rh_info); in print_decnet_ctlmsg()
653 blksize = GET_LE_U_2(cmp->cm_rhello.rh_blksize); in print_decnet_ctlmsg()
654 priority = GET_U_1(cmp->cm_rhello.rh_priority); in print_decnet_ctlmsg()
655 hello = GET_LE_U_2(cmp->cm_rhello.rh_hello); in print_decnet_ctlmsg()
661 length - sizeof(struct rhellomsg)); in print_decnet_ctlmsg()
662 break; in print_decnet_ctlmsg()
664 ND_PRINT("endnode-hello "); in print_decnet_ctlmsg()
667 vers = GET_U_1(cmp->cm_ehello.eh_vers); in print_decnet_ctlmsg()
668 eco = GET_U_1(cmp->cm_ehello.eh_eco); in print_decnet_ctlmsg()
669 ueco = GET_U_1(cmp->cm_ehello.eh_ueco); in print_decnet_ctlmsg()
671 GET_LE_U_2(cmp->cm_ehello.eh_src.dne_remote.dne_nodeaddr); in print_decnet_ctlmsg()
672 info = GET_U_1(cmp->cm_ehello.eh_info); in print_decnet_ctlmsg()
673 blksize = GET_LE_U_2(cmp->cm_ehello.eh_blksize); in print_decnet_ctlmsg()
676 GET_LE_U_2(cmp->cm_ehello.eh_router.dne_remote.dne_nodeaddr); in print_decnet_ctlmsg()
677 hello = GET_LE_U_2(cmp->cm_ehello.eh_hello); in print_decnet_ctlmsg()
678 other = GET_U_1(cmp->cm_ehello.eh_data); in print_decnet_ctlmsg()
683 break; in print_decnet_ctlmsg()
686 ND_PRINT("unknown control message"); in print_decnet_ctlmsg()
688 break; in print_decnet_ctlmsg()
702 case 0: ND_PRINT("reserved-ntype? "); break; in print_t_info()
703 case TI_L2ROUT: ND_PRINT("l2rout "); break; in print_t_info()
704 case TI_L1ROUT: ND_PRINT("l1rout "); break; in print_t_info()
705 case TI_ENDNODE: ND_PRINT("endnode "); break; in print_t_info()
728 len -= sizeof(short); in print_l1_routes()
731 len -= sizeof(short); in print_l1_routes()
734 len -= sizeof(short); in print_l1_routes()
735 ND_PRINT("{ids %u-%u cost %u hops %u} ", id, id + count, in print_l1_routes()
755 len -= sizeof(short); in print_l2_routes()
758 len -= sizeof(short); in print_l2_routes()
761 len -= sizeof(short); in print_l2_routes()
762 ND_PRINT("{areas %u-%u cost %u hops %u} ", area, area + count, in print_l2_routes()
773 case 0: ND_PRINT("reserved-ntype? "); break; in print_i_info()
774 case II_L2ROUT: ND_PRINT("l2rout "); break; in print_i_info()
775 case II_L1ROUT: ND_PRINT("l1rout "); break; in print_i_info()
776 case II_ENDNODE: ND_PRINT("endnode "); break; in print_i_info()
803 flags = GET_U_1(nsphp->nh_flags); in print_nsp()
804 dst = GET_LE_U_2(nsphp->nh_dst); in print_nsp()
805 src = GET_LE_U_2(nsphp->nh_src); in print_nsp()
822 ack = GET_LE_U_2(shp->sh_seq[0]); in print_nsp()
831 ack = GET_LE_U_2(shp->sh_seq[1]); in print_nsp()
840 ack = GET_LE_U_2(shp->sh_seq[2]); in print_nsp()
845 break; in print_nsp()
855 ack = GET_LE_U_2(shp->sh_seq[0]); in print_nsp()
864 ack = GET_LE_U_2(shp->sh_seq[1]); in print_nsp()
873 ack = GET_LE_U_2(shp->sh_seq[2]); in print_nsp()
878 break; in print_nsp()
880 ND_PRINT("link-service %u>%u ", src, dst); in print_nsp()
890 ack = GET_LE_U_2(shp->sh_seq[0]); in print_nsp()
896 ack = GET_LE_U_2(shp->sh_seq[1]); in print_nsp()
902 ack = GET_LE_U_2(shp->sh_seq[2]); in print_nsp()
906 lsflags = GET_U_1(lsmp->ls_lsflags); in print_nsp()
907 fcval = GET_U_1(lsmp->ls_fcval); in print_nsp()
913 break; in print_nsp()
915 ND_PRINT("donotsend-data "); in print_nsp()
916 break; in print_nsp()
918 ND_PRINT("send-data "); in print_nsp()
919 break; in print_nsp()
921 ND_PRINT("reserved-fcmod? %x", lsflags); in print_nsp()
922 break; in print_nsp()
924 break; in print_nsp()
927 break; in print_nsp()
929 ND_PRINT("reserved-fcval-int? %x", lsflags); in print_nsp()
930 break; in print_nsp()
933 break; in print_nsp()
935 ND_PRINT("reserved-subtype? %x %u > %u", flags, src, dst); in print_nsp()
936 break; in print_nsp()
938 break; in print_nsp()
942 ND_PRINT("data-ack %u>%u ", src, dst); in print_nsp()
950 ack = GET_LE_U_2(amp->ak_acknum[0]); in print_nsp()
956 ack = GET_LE_U_2(amp->ak_acknum[1]); in print_nsp()
965 break; in print_nsp()
967 ND_PRINT("ils-ack %u>%u ", src, dst); in print_nsp()
975 ack = GET_LE_U_2(amp->ak_acknum[0]); in print_nsp()
981 ack = GET_LE_U_2(amp->ak_acknum[1]); in print_nsp()
990 break; in print_nsp()
992 ND_PRINT("conn-ack %u", dst); in print_nsp()
993 break; in print_nsp()
995 ND_PRINT("reserved-acktype? %x %u > %u", flags, src, dst); in print_nsp()
996 break; in print_nsp()
998 break; in print_nsp()
1004 ND_PRINT("conn-initiate "); in print_nsp()
1006 ND_PRINT("retrans-conn-initiate "); in print_nsp()
1014 services = GET_U_1(cimp->ci_services); in print_nsp()
1015 info = GET_U_1(cimp->ci_info); in print_nsp()
1016 segsize = GET_LE_U_2(cimp->ci_segsize); in print_nsp()
1020 break; in print_nsp()
1023 break; in print_nsp()
1026 break; in print_nsp()
1031 break; in print_nsp()
1034 break; in print_nsp()
1037 break; in print_nsp()
1040 break; in print_nsp()
1044 break; in print_nsp()
1046 ND_PRINT("conn-confirm %u>%u ", src, dst); in print_nsp()
1054 services = GET_U_1(ccmp->cc_services); in print_nsp()
1055 info = GET_U_1(ccmp->cc_info); in print_nsp()
1056 segsize = GET_LE_U_2(ccmp->cc_segsize); in print_nsp()
1057 optlen = GET_U_1(ccmp->cc_optlen); in print_nsp()
1061 break; in print_nsp()
1064 break; in print_nsp()
1067 break; in print_nsp()
1072 break; in print_nsp()
1075 break; in print_nsp()
1078 break; in print_nsp()
1081 break; in print_nsp()
1088 break; in print_nsp()
1090 ND_PRINT("disconn-initiate %u>%u ", src, dst); in print_nsp()
1098 reason = GET_LE_U_2(dimp->di_reason); in print_nsp()
1099 optlen = GET_U_1(dimp->di_optlen); in print_nsp()
1106 break; in print_nsp()
1108 ND_PRINT("disconn-confirm %u>%u ", src, dst); in print_nsp()
1113 reason = GET_LE_U_2(dcmp->dc_reason); in print_nsp()
1117 break; in print_nsp()
1119 ND_PRINT("reserved-ctltype? %x %u > %u", flags, src, dst); in print_nsp()
1120 break; in print_nsp()
1122 break; in print_nsp()
1124 ND_PRINT("reserved-type? %x %u > %u", flags, src, dst); in print_nsp()
1125 break; in print_nsp()
1148 { UC_ACCESSREJECT, "invalid access control information" },
1163 ND_PRINT("%s ", tok2str(reason2str, "reason-%u", reason)); in print_reason()
1177 (*ndo->ndo_error)(ndo, S_ERR_ND_MEM_ALLOC, "%s: malloc", __func__); in dnnum_string()