NSIS-ka
A free C++ implementation of NSIS protocols

Changeset 2486


Ignore:
Timestamp:
Mar 20, 2007, 11:23:47 PM (11 years ago)
Author:
hiwi-laier
Message:

Update ErrorCodes?. This adds some TODOs. INFO_SPEC *not*
complete yet.

Location:
qos-nslp/branches/laier-update
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • qos-nslp/branches/laier-update/include/info_spec.h

    r1596 r2486  
    6666                /// information
    6767                UnknownBOUND_SESSION_ID     = 1,
     68#ifdef QOS_NSLP_13
     69                RouteChange                                     = 2,
     70                NoReducedRefreshes                      = 3,
     71                Congestion                                      = 4,
     72                UnknownSESSION_ID                       = 5,
     73                MismatchingRSN                          = 6,
     74#endif
    6875                /// success
     76#ifdef QOS_NSLP_13
     77                ReservationSuccessful           = 1,
     78                TeardownSuccessful                      = 2,
     79                Acknowledgement                         = 3,
     80                RefreshSuccessful                       = 4,
     81#else
    6982                StateInstallationOK         = 1,
    7083                ReservationCreated          = 2,
    7184                ReservationAccepted         = 3,
    7285                ReservationCreatedModified  = 4,
     86#endif
    7387                // @{
    7488                /// protocol
    7589                IllegalMessageType          =  1,
    7690                WrongMessageLength          =  2,
     91#ifdef QOS_NSLP_13
     92                BadGenericFlagsValue            =  3,
     93                BadSpecificFlagsValue           =  3,
     94                MandatoryObjectMissing      =  5,
     95                IllegalObjectPresent        =  6,
     96                UnknownObjectPresent        =  7,
     97                WrongObjectLength           =  8,
     98                RESERVEfromWrongDirection   =  9,
     99                UnknownObjectFieldValue     = 10,
     100                DuplicateObject             = 11,
     101                MalformedQSPEC                          = 12,
     102                UnknownMRI                                      = 13,
     103                ErroneousTLV                            = 14,
     104#else
    77105                BadFlagsValue               =  3,
    78106                MandatoryObjectMissing      =  4,
     
    85113                InvalidFlagFieldCombination =  11,
    86114                DuplicateObject             =  12,
     115#endif
    87116                // @}
    88117                // @{
    89118                /// transient
     119#ifdef QOS_NSLP_13
     120                NoReversePath                           =  1,
     121                NoPathStateForReserve           =  2,
     122                RIIconflict                                     =  3,
     123                FullQSPECrequired                       =  4,
     124                MismatchEndToEnd_Intry          =  5,
     125                ReservationPreempted            =  6,
     126                ReservationFailure                      =  7,
     127                PathTruncated                           =  8,
     128#else
    90129                ReqResourcesNotAvail        =  1,
    91130                InsufficientBandwidthAvail  =  2,
     
    100139                FullQSPECrequired           =  11,
    101140                MismatchEndToEnd_Intry      =  12,
     141#endif
    102142                // @}
    103143                // @{
    104144                /// permanent
     145#ifdef QOS_NSLP_13
     146                InternalOrSystemError           =  1,
     147                AuthenticationFailure       =  2,
     148#else
    105149                AuthenticationFailure       =  1,
    106150                UnableTransportSecurity     =  2,
     
    108152                ResourceRequestDenied       =  4,
    109153                PermanentRMFrelatedError    =  5,
     154#endif
    110155                /// number of codes
    111156                num_of_codes                =  13
     
    160205        errorclass_t errorclass;
    161206        errorcode_t errorcode;
     207#ifndef QOS_NSLP_13
     208                // XXX: Just make sure we don't use this, the external API still has a subcode
    162209        uint8 error_subcode;
     210#endif
    163211        string errorstring;
    164212        static const char* const iename;
  • qos-nslp/branches/laier-update/src/Makefile

    r2480 r2486  
    1818export UNAME_MACHINE := "$(ARCH)"
    1919
    20 QOSOPTIONS      = -D_DEBUG #-D_NO_LOGGING
     20QOSOPTIONS      = -D_DEBUG -DQOS_NSLP_13 #-D_NO_LOGGING
    2121
    2222CFLAGS          = --pedantic -O2 -g -Wno-long-long -Wall $(QOSOPTIONS) # development (valgrind)
  • qos-nslp/branches/laier-update/src/QoS_StateModule.cpp

    r2483 r2486  
    11531153            if (rcvd_rii) {
    11541154              send_response_with_rii(rcvd_rii, false, false, local_sid, rcvd_mri,
    1155                                      info_spec::transient, info_spec::ReqResourcesNotAvail);
     1155                                     info_spec::transient,
     1156#ifdef QOS_NSLP_13
     1157                                     info_spec::ReservationFailure
     1158#else
     1159                                     info_spec::ReqResourcesNotAvail
     1160#endif
     1161                                     );
    11561162            }
    11571163            else {
    11581164              send_response_with_rsn(rsn_up, false, local_sid, rcvd_mri,
    1159                                      info_spec::transient, info_spec::ReqResourcesNotAvail);
     1165                                     info_spec::transient,
     1166#ifdef QOS_NSLP_13
     1167                                     info_spec::ReservationFailure
     1168#else
     1169                                     info_spec::ReqResourcesNotAvail
     1170#endif
     1171                                     );
    11601172            }
    11611173          }
     
    11851197          info_spec::errorcode_t er_code;
    11861198          if (is_qnr) {
     1199#ifdef QOS_NSLP_13
     1200                er_code = info_spec::ReservationSuccessful;
     1201#else
    11871202            er_code = info_spec::ReservationCreated;
     1203#endif
    11881204          }
    11891205          else
    11901206          {
     1207#ifdef QOS_NSLP_13
     1208                //TODO: Note quite sure yet.
     1209#else
    11911210            er_code = info_spec::StateInstallationOK;
     1211#endif
    11921212          }
    11931213          send_response_with_rii(rcvd_rii, is_qnr, false, local_sid, rcvd_mri, info_spec::success, er_code);
     
    12081228              Log(INFO_LOG,LOG_NORMAL,"QOS_STATEMODULE", "QNE or QNR, A-Flag set, send RESPONSE");
    12091229              send_response_with_rsn(rsn_up, false, local_sid, rcvd_mri,
    1210                                      info_spec::success, info_spec::StateInstallationOK);
     1230                                     info_spec::success,
     1231#ifdef QOS_NSLP_13
     1232                                     info_spec::Acknowledgement
     1233#else
     1234                                     info_spec::StateInstallationOK
     1235#endif
     1236                                     );
    12111237            }
    12121238        }
     
    14541480    }
    14551481   
    1456     info_spec* send_error = new info_spec(addr6, info_spec::success, info_spec::ReservationCreated, 0);
     1482    info_spec* send_error = new info_spec(addr6, info_spec::success,
     1483#ifdef QOS_NSLP_13
     1484        info_spec::ReservationSuccessful,
     1485#else
     1486        info_spec::ReservationCreated,
     1487#endif
     1488        0);
    14571489    res->set_errorobject(send_error);
    14581490   
     
    23572389                if (rcvd_rii) {
    23582390                  send_response_with_rii(rcvd_rii, false, false, rcvd_sid, rcvd_mri,
    2359                                          info_spec::transient, info_spec::ReqResourcesNotAvail);
     2391                                         info_spec::transient,
     2392#ifdef QOS_NSLP_13
     2393                                     info_spec::ReservationFailure
     2394#else
     2395                                     info_spec::ReqResourcesNotAvail
     2396#endif
     2397                                     );
    23602398                }
    23612399                else {
    23622400                  send_response_with_rsn(send_rsn, false, rcvd_sid, rcvd_mri,
    2363                                          info_spec::transient, info_spec::ReqResourcesNotAvail);
     2401                                         info_spec::transient,
     2402#ifdef QOS_NSLP_13
     2403                                     info_spec::ReservationFailure
     2404#else
     2405                                     info_spec::ReqResourcesNotAvail
     2406#endif
     2407                                     );
    23642408                }
    23652409              }
     
    23972441              if (is_qnr) {
    23982442                send_response_with_rii(rcvd_rii, is_qnr, false, rcvd_sid, rcvd_mri,
    2399                                        info_spec::success, info_spec::ReservationCreated);
     2443                                       info_spec::success,
     2444#ifdef QOS_NSLP_13
     2445                                       info_spec::ReservationSuccessful
     2446#else
     2447                                       info_spec::ReservationCreated
     2448#endif
     2449                                       );
    24002450              }
    24012451              else {
    24022452                // if the node is merging node or if the SCOPING flag is set then send RESPONSE
    24032453                if (!forward || (reservemsg->is_scoping_flag())) {
     2454#ifdef QOS_NSLP_13
     2455                        ; //TODO: Not quite sure yet!
     2456#else
    24042457                  send_response_with_rii(rcvd_rii, false, false, rcvd_sid, rcvd_mri,
    24052458                                         info_spec::success, info_spec::StateInstallationOK);
     2459#endif
    24062460                }
    24072461              }
     
    24172471            if (!is_qni) {
    24182472                if (reservemsg->is_acknowledge_flag()) {
    2419                  send_response_with_rsn(send_rsn, false, rcvd_sid, rcvd_mri, info_spec::success, info_spec::StateInstallationOK);
     2473                 send_response_with_rsn(send_rsn, false, rcvd_sid, rcvd_mri, info_spec::success,
     2474#ifdef QOS_NSLP_13
     2475                     info_spec::Acknowledgement
     2476#else
     2477                     info_spec::StateInstallationOK
     2478#endif
     2479                     );
    24202480                }
    24212481            }
  • qos-nslp/branches/laier-update/src/info_spec.cpp

    r1598 r2486  
    141141        errorclass = (info_spec::errorclass_t) (temp_uint16 / 4096);
    142142        errorcode = (info_spec::errorcode_t) (temp_uint16 % 4096);
     143#ifndef QOS_NSLP_13
    143144        error_subcode = msg.decode8();
     145#endif
    144146        esi_length = msg.decode8();
    145147        // decode IPv6 address
     
    182184        class_code = e_class * 4096 + e_code;
    183185        msg.encode16(class_code);
     186#ifndef QOS_NSLP_13
    184187        msg.encode8(error_subcode);
     188#endif
    185189        esi_length = 16;
    186190        msg.encode8(esi_length);
     
    241245        os<<setw(level*indent)<<""; os<<setw(level*indent)<<"";
    242246        Log(INFO_LOG,LOG_NORMAL, "INFO_SPEC", "=====Errorcode: "<<(errorcode_t)errorcode);
     247#ifndef QOS_NSLP_13
    243248        os<<setw(level*indent)<<""; os<<setw(level*indent)<<"";
    244249        Log(INFO_LOG,LOG_NORMAL, "INFO_SPEC", "=====Error_subcode: "<<(uint16)error_subcode);
     250#endif
    245251        os<<setw(level*indent)<<""; os<<setw(level*indent)<<"";
    246252        Log(INFO_LOG,LOG_NORMAL, "INFO_SPEC", "=====Errorstring: \""<<errorstring);
     
    258264        memset(&errororigin, 0, sizeof(struct in6_addr));
    259265        errorstring.clear();
     266#ifdef QOS_NSLP_13
     267        set_error(success, ReservationSuccessful, 0);
     268#else
    260269        set_error(success, StateInstallationOK, 0);
    261270        error_subcode = 0;
     271#endif
    262272} // end constructor
    263273
     
    320330  errorcode = n.errorcode;
    321331  errorstring = n.errorstring;
     332#ifndef QOS_NSLP_13
    322333  error_subcode = n.error_subcode;
     334#endif
    323335} // end copy constructor
    324336
     
    339351        errorclass = n.errorclass;
    340352        errorcode = n.errorcode;
     353#ifndef QOS_NSLP_13
    341354        error_subcode = n.error_subcode;
     355#endif
    342356        errorstring = n.errorstring;
    343357        return *this;
     
    389403        errorclass = ecl;
    390404        errorcode = ecd;
     405#ifndef QOS_NSLP_13
    391406        error_subcode = e_subcode;
     407#endif
    392408        if (check()) {
    393409            return set_defaultstring();
     
    441457uint8 info_spec::get_error_subcode() const
    442458{
     459#ifndef QOS_NSLP_13
    443460  return error_subcode;
     461#else
     462  return 0;
     463#endif
    444464} // end get_error_subcode
    445465       
     
    449469void info_spec::set_error_subcode(uint8 s_code)
    450470{
     471#ifndef QOS_NSLP_13
    451472  error_subcode = s_code;
     473#else
     474  return;
     475#endif
    452476}  // end set_error_subcode
    453477
  • qos-nslp/branches/laier-update/src/nslp_pdu.cpp

    r2485 r2486  
    120120  // XXX: hack, hack, hack
    121121  switch (t) {
    122         case RESERVE:
     122        case known_nslp_pdu::RESERVE:
    123123                break_flag_set = (specific_flags & RESV_FLAG_BREAK);
    124124                break;
    125         case QUERY:
     125        case known_nslp_pdu::QUERY:
    126126                break_flag_set = (specific_flags & QUERY_FLAG_BREAK);
    127127                break;
    128         case QUERY:
     128        case known_nslp_pdu::RESPONSE:
    129129                break_flag_set = (specific_flags & RESP_FLAG_BREAK);
    130130                break;
     
    299299#ifdef QOS_NSLP_13
    300300  // XXX: hack, hack, hack
    301   if (is_break_flag()) {
     301  uint8 tmp_flags = specific_flags;
     302  if (break_flag_set) {
    302303        switch (type) {
    303         case RESERVE:
    304                 specific_flags |= RESV_FLAG_BREAK;
    305                 break;
    306         case QUERY:
    307                 specific_flags |= QUERY_FLAG_BREAK;
    308                 break;
    309         case RESPONSE:
    310                 specific_flags |= RESP_FLAG_BREAK;
     304        case known_nslp_pdu::RESERVE:
     305                tmp_flags |= RESV_FLAG_BREAK;
     306                break;
     307        case known_nslp_pdu::QUERY:
     308                tmp_flags |= QUERY_FLAG_BREAK;
     309                break;
     310        case known_nslp_pdu::RESPONSE:
     311                tmp_flags |= RESP_FLAG_BREAK;
    311312                break;
    312313        default:
     
    314315        }
    315316  }
     317  msg.encode8(tmp_flags);
     318#else
     319  msg.encode8(specific_flags);
    316320#endif
    317   msg.encode8(specific_flags);
    318321  msg.encode16(generic_flags);
    319322
     
    487490  // XXX: hack, hack, hack
    488491  switch (type) {
    489         case RESERVE:
     492        case known_nslp_pdu::RESERVE:
    490493                break_flag_set = (specific_flags & RESV_FLAG_BREAK);
    491494                break;
    492         case QUERY:
     495        case known_nslp_pdu::QUERY:
    493496                break_flag_set = (specific_flags & QUERY_FLAG_BREAK);
    494497                break;
    495         case QUERY:
     498        case known_nslp_pdu::RESPONSE:
    496499                break_flag_set = (specific_flags & RESP_FLAG_BREAK);
    497500                break;
     
    513516  // XXX: hack, hack, hack
    514517  switch (type) {
    515         case RESERVE:
     518        case known_nslp_pdu::RESERVE:
    516519                break_flag_set = (specific_flags & RESV_FLAG_BREAK);
    517520                break;
    518         case QUERY:
     521        case known_nslp_pdu::QUERY:
    519522                break_flag_set = (specific_flags & QUERY_FLAG_BREAK);
    520523                break;
    521         case QUERY:
     524        case known_nslp_pdu::RESPONSE:
    522525                break_flag_set = (specific_flags & RESP_FLAG_BREAK);
    523526                break;
     
    540543  // XXX: hack, hack, hack
    541544  switch (type) {
    542         case RESERVE:
     545        case known_nslp_pdu::RESERVE:
    543546                break_flag_set = (specific_flags & RESV_FLAG_BREAK);
    544547                break;
    545         case QUERY:
     548        case known_nslp_pdu::QUERY:
    546549                break_flag_set = (specific_flags & QUERY_FLAG_BREAK);
    547550                break;
    548         case QUERY:
     551        case known_nslp_pdu::RESPONSE:
    549552                break_flag_set = (specific_flags & RESP_FLAG_BREAK);
    550553                break;
Note: See TracChangeset for help on using the changeset viewer.