Lines Matching full:direction
101 static int sctp_PktParser(struct libalias *la, int direction, struct ip *pip,
104 uint32_t *l_vtag, uint32_t *g_vtag, int direction);
105 static int IsASCONFack(struct libalias *la, struct sctp_nat_msg *sm, int direction);
107 …ic void AddGlobalIPAddresses(struct sctp_nat_msg *sm, struct sctp_nat_assoc *assoc, int direction);
109 …tic void RmGlobalIPAddresses(struct sctp_nat_msg *sm, struct sctp_nat_assoc *assoc, int direction);
110 static int IsADDorDEL(struct libalias *la, struct sctp_nat_msg *sm, int direction);
113 static int ProcessSctpMsg(struct libalias *la, int direction, \
116 static int ID_process(struct libalias *la, int direction,\
118 static int INi_process(struct libalias *la, int direction,\
120 static int INa_process(struct libalias *la, int direction,\
122 static int UP_process(struct libalias *la, int direction,\
124 static int CL_process(struct libalias *la, int direction,\
127 struct sctp_nat_assoc *assoc, int sndrply, int direction);
153 static void logsctperror(char *errormsg, uint32_t vtag, int error, int direction);
154 static void logsctpparse(int direction, struct sctp_nat_msg *sm);
227 #define SN_PARSE_ERROR_DIR 4 /**< Packet parsing error - Direction */
718 * - Validating the direction parameter passed by the caller
732 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
737 SctpAlias(struct libalias *la, struct ip *pip, int direction) in SctpAlias() argument
743 if ((direction != SN_TO_LOCAL) && (direction != SN_TO_GLOBAL)) { in SctpAlias()
744 SctpAliasLog("ERROR: Invalid direction\n"); in SctpAlias()
751 …rtnval = sctp_PktParser(la, direction, pip, &msg, &assoc); //using *char (change to mbuf when get … in SctpAlias()
765 logsctperror("SN_PARSE_ERROR", msg.sctp_hdr->v_tag, rtnval, direction)); in SctpAlias()
770 logsctperror("SN_PARSE_ERROR", msg.sctp_hdr->v_tag, rtnval, direction)); in SctpAlias()
775 (sysctl_error_on_ootb == SN_LOCALandPARTIAL_ERROR_ON_OOTB && direction == SN_TO_LOCAL) || in SctpAlias()
776 (sysctl_error_on_ootb == SN_LOCAL_ERROR_ON_OOTB && direction == SN_TO_GLOBAL)) { in SctpAlias()
777 TxAbortErrorM(la, &msg, assoc, SN_REFLECT_ERROR, direction); /*NB assoc=NULL */ in SctpAlias()
782 logsctperror("SN_PARSE_ERROR", msg.sctp_hdr->v_tag, rtnval, direction)); in SctpAlias()
788 logsctpparse(direction, &msg); in SctpAlias()
792 rtnval = ProcessSctpMsg(la, direction, &msg, assoc); in SctpAlias()
803 switch (direction) { in SctpAlias()
816 …SN_LOG(SN_LOG_LOW, logsctperror("ERROR: Invalid direction", msg.sctp_hdr->v_tag, rtnval, direction… in SctpAlias()
821 SN_LOG(SN_LOG_DETAIL, logsctperror("SN_DROP_PKT", msg.sctp_hdr->v_tag, rtnval, direction)); in SctpAlias()
826 TxAbortErrorM(la, &msg, assoc, rtnval, direction); in SctpAlias()
830 SN_LOG(SN_LOG_LOW, logsctperror("SN_PROCESSING_ERROR", msg.sctp_hdr->v_tag, rtnval, direction)); in SctpAlias()
881 * - Initial packet direction (SN_TO_LOCAL | SN_TO_GLOBAL)
891 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
931 …ct libalias *la, struct sctp_nat_msg *sm, struct sctp_nat_assoc *assoc, int sndrply, int direction) in TxAbortErrorM() argument
982 sctp_hdr->v_tag = (direction == SN_TO_LOCAL) ? assoc->g_vtag : assoc->l_vtag ; in TxAbortErrorM()
994 ip->ip_src = (direction == SN_TO_LOCAL) ? sm->ip_hdr->ip_src : assoc->a_addr; in TxAbortErrorM()
995 ip->ip_dst = (direction == SN_TO_LOCAL) ? assoc->l_addr : sm->ip_hdr->ip_dst; in TxAbortErrorM()
1041 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1049 sctp_PktParser(struct libalias *la, int direction, struct ip *pip, in sctp_PktParser() argument
1051 //sctp_PktParser(int direction, struct mbuf *ipak, int ip_hdr_len,struct sctp_nat_msg *sm, struct s… in sctp_PktParser()
1107 if (direction == SN_TO_LOCAL) in sctp_PktParser()
1113 if (direction == SN_TO_LOCAL) in sctp_PktParser()
1177 if ((*passoc == NULL) && (direction == SN_TO_LOCAL)) { /* AddIP with no association */ in sctp_PktParser()
1268 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1273 …gs(struct libalias *la, struct sctp_nat_msg *sm, uint32_t *l_vtag, uint32_t *g_vtag, int direction) in GetAsconfVtags() argument
1297 switch (direction) { in GetAsconfVtags()
1322 sm->sctp_hdr->v_tag, sysctl_param_proc_limit, direction)); in GetAsconfVtags()
1337 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1341 AddGlobalIPAddresses(struct sctp_nat_msg *sm, struct sctp_nat_assoc *assoc, int direction) in AddGlobalIPAddresses() argument
1351 switch (direction) { in AddGlobalIPAddresses()
1384 sm->sctp_hdr->v_tag, 0, direction)); in AddGlobalIPAddresses()
1393 sm->sctp_hdr->v_tag, assoc->num_Gaddr, direction)); in AddGlobalIPAddresses()
1401 sm->sctp_hdr->v_tag, sysctl_track_global_addresses, direction)); in AddGlobalIPAddresses()
1416 sm->sctp_hdr->v_tag, 0, direction)); in AddGlobalIPAddresses()
1428 sm->sctp_hdr->v_tag, assoc->num_Gaddr, direction)); in AddGlobalIPAddresses()
1435 sm->sctp_hdr->v_tag, assoc->num_Gaddr, direction)); in AddGlobalIPAddresses()
1448 sm->sctp_hdr->v_tag, sysctl_param_proc_limit, direction)); in AddGlobalIPAddresses()
1455 sm->sctp_hdr->v_tag, assoc->num_Gaddr, direction)); in AddGlobalIPAddresses()
1500 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1504 RmGlobalIPAddresses(struct sctp_nat_msg *sm, struct sctp_nat_assoc *assoc, int direction) in RmGlobalIPAddresses() argument
1521 sm->sctp_hdr->v_tag, sysctl_track_global_addresses, direction)); in RmGlobalIPAddresses()
1539 sm->sctp_hdr->v_tag, assoc->num_Gaddr, direction)); in RmGlobalIPAddresses()
1555 sm->sctp_hdr->v_tag, assoc->num_Gaddr, direction)); in RmGlobalIPAddresses()
1567 sm->sctp_hdr->v_tag, sysctl_track_global_addresses, direction)); in RmGlobalIPAddresses()
1576 sm->sctp_hdr->v_tag, sysctl_param_proc_limit, direction)); in RmGlobalIPAddresses()
1600 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1605 IsASCONFack(struct libalias *la, struct sctp_nat_msg *sm, int direction) in IsASCONFack() argument
1639 sm->sctp_hdr->v_tag, sysctl_param_proc_limit, direction)); in IsASCONFack()
1654 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1659 IsADDorDEL(struct libalias *la, struct sctp_nat_msg *sm, int direction) in IsADDorDEL() argument
1693 sm->sctp_hdr->v_tag, sysctl_param_proc_limit, direction)); in IsADDorDEL()
1720 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1727 ProcessSctpMsg(struct libalias *la, int direction, struct sctp_nat_msg *sm, struct sctp_nat_assoc *… in ProcessSctpMsg() argument
1733 rtnval = ID_process(la, direction, assoc, sm); in ProcessSctpMsg()
1739 return (INi_process(la, direction, assoc, sm)); in ProcessSctpMsg()
1741 return (INa_process(la, direction, assoc, sm)); in ProcessSctpMsg()
1743 return (UP_process(la, direction, assoc, sm)); in ProcessSctpMsg()
1745 return (CL_process(la, direction, assoc, sm)); in ProcessSctpMsg()
1758 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1765 ID_process(struct libalias *la, int direction, struct sctp_nat_assoc *assoc, struct sctp_nat_msg *s… in ID_process() argument
1769 if (!sysctl_accept_global_ootb_addip && (direction == SN_TO_LOCAL)) in ID_process()
1772 if (!GetAsconfVtags(la, sm, &(assoc->l_vtag), &(assoc->g_vtag), direction)) in ID_process()
1777 AddGlobalIPAddresses(sm, assoc, direction); in ID_process()
1778 switch (direction) { in ID_process()
1827 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1834 INi_process(struct libalias *la, int direction, struct sctp_nat_assoc *assoc, struct sctp_nat_msg *… in INi_process() argument
1841 switch (direction) { in INi_process()
1844 AddGlobalIPAddresses(sm, assoc, direction); in INi_process()
1879 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1886 INa_process(struct libalias *la, int direction,struct sctp_nat_assoc *assoc, struct sctp_nat_msg *s… in INa_process() argument
1893 switch (direction) { in INa_process()
1895 if (!(assoc->TableRegister & SN_WAIT_TOLOCAL)) /* wrong direction */ in INa_process()
1899 if (!(assoc->TableRegister & SN_WAIT_TOGLOBAL)) /* wrong direction */ in INa_process()
1902 if (IsASCONFack(la,sm,direction)) { in INa_process()
1927 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1934 UP_process(struct libalias *la, int direction, struct sctp_nat_assoc *assoc, struct sctp_nat_msg *s… in UP_process() argument
1945 …if ((direction == SN_TO_LOCAL) && assoc->num_Gaddr) /*If tracking global addresses for this associ… in UP_process()
1946 switch (IsADDorDEL(la,sm,direction)) { in UP_process()
1948 AddGlobalIPAddresses(sm, assoc, direction); in UP_process()
1951 RmGlobalIPAddresses(sm, assoc, direction); in UP_process()
1971 * @param direction SN_TO_LOCAL | SN_TO_GLOBAL
1978 CL_process(struct libalias *la, int direction,struct sctp_nat_assoc *assoc, struct sctp_nat_msg *sm) in CL_process() argument
2530 * @param direction Direction of packet
2533 logsctperror(char *errormsg, uint32_t vtag, int error, int direction) in logsctperror() argument
2536 switch (direction) { in logsctperror()
2553 * @param direction Direction of packet
2557 logsctpparse(int direction, struct sctp_nat_msg *sm) in logsctpparse() argument
2560 switch (direction) { in logsctpparse()