Rule and Class Improvements

In Oracle SD-WAN Edge release 2.2 and prior releases, the typical Oracle configuration file supported the concept of a single default class. This default class was designed to support all different traffic flows without a specific advantage to a certain traffic type – Real-time verses Interactive Verses Bulk, for example. Any traffic type that did not have a user defined rule would match the default class 9. The default rules have now been enhanced to support different rules and classes for the most common traffic flows seen on networks today. Before a user implements the Oracle SD-WAN Edge, they must review the current rule set to understand what is enabled by default. The rules and classes are not all encompassing, but do cover a wide range of application and traffic flows. If the user has a custom application that is critical to the success of the deployment, they should define the application characteristics to a Oracle representative. The representative can then discuss the options with the user to define the correct rule set (class) for the customer application.

Shown below are the new default rules and classes as of Edge release 2.3:

Default Classes:

Class 0-9:

  • User settable class
  • Default: Bulk class
  • Default: 1% share

Class 10 (udp_ef_realtime_class):

  • Default class for user-defined UDP rules
  • Realtime class
  • 50% share

Class 11 (control_tcp_ack_af11_int_class):

  • Default class for TCP Standalone ACK traffic.
  • Interactive class
  • 50% share

Class 12 (ssh_telnet_interactive_class):

  • Interactive class
  • 30% share

Class 13 (gre_tcp_other_interactive_class):

  • Interactive class
  • 20% share

Class 14 (http_https_interactive_class):

  • Interactive class
  • 10% share

Class 15 (cifs_bulk_class):

  • Bulk class
  • 45% share

Class 16 (ftp_bulk_class):

  • Bulk class 45% share

Default Rules per Conduit:

  • ICMP

(Assigned to class 11)

  1. protocol_str=ICMP
  2. class_name=control_tcp_ack_af11_int_class
  3. transmit_mode=PERSISTENT_PATH
  4. resequence_packets=YES
  5. resequence_holdtime_ms=set rule_default
  6. nontcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=350
  8. class_tail_drop_small_packet_bytes=30000
    • SSH

(Assigned to class 12)

  1. protocol_str=SSH
  2. class_name=ssh_telnet_interactive_class
  3. transmit_mode=LOAD_BALANCE_PATHS
  4. retransmit_lost_packets=YES
  5. resequence_packets=YES
  6. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=350
  8. class_tail_drop_small_packet_bytes=65000
  9. reassign_flow_if_packet_exceeds_size_bytes=512 // for SCP
  10. reassign_flow_if_packet_exceeds_size_class_name=ftp_bulk_class // for SCP
  11. reassign_class_tail_drop_small_packet_bytes=(~1/2 second based on WAN ingress bandwidth for the conduit)
    • Telnet

(Assigned to class 12)

  1. protocol_str=TELNET
  2. class_name=ssh_telnet_interactive_class
  3. transmit_mode=LOAD_BALANCE_PATHS
  4. retransmit_lost_packets=YES
  5. resequence_packets=YES
  6. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=350
  8. class_tail_drop_small_packet_bytes=65000
    • HTTP

(Assigned to class 14)

  1. protocol_str=HTTP
  2. class_name=http_https_interactive_class
  3. transmit_mode=LOAD_BALANCE_PATHS
  4. retransmit_lost_packets=YES
  5. resequence_packets=YES
  6. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=350
  8. class_tail_drop_small_packet_bytes=100000
    • HTTPS

(Assigned to class 14)

  1. protocol_str=HTTPS
  2. class_name=http_https_interactive_class
  3. transmit_mode=LOAD_BALANCE_PATHS
  4. retransmit_lost_packets=YES
  5. resequence_packets=YES
  6. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=350
  8. class_tail_drop_small_packet_bytes=100000
    • CIFS

(Assigned to class 15)

  1. protocol_str=CIFS
  2. class_name=cifs_bulk_class
  3. tcp_standalone_ack_class_name=control_tcp_ack_af11_int_class
  4. tcp_standalone_ack_class_tail_drop_small_packet_ms=350
  5. tcp_standalone_ack_class_tail_drop_small_packet_bytes=30000
  6. transmit_mode=LOAD_BALANCE_PATHS
  7. retransmit_lost_packets=YES
  8. resequence_packets=YES
  9. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  10. class_tail_drop_small_packet_bytes=(~2 seconds based on WAN ingress bandwidth for the conduit)
    • FTP

(Assigned to class 16)

  1. protocol_str=FTP
  2. class_name=ftp_bulk_class
  3. tcp_standalone_ack_class_name=control_tcp_ack_af11_int_class
  4. tcp_standalone_ack_class_tail_drop_small_packet_ms=350
  5. tcp_standalone_ack_class_tail_drop_small_packet_bytes=30000
  6. transmit_mode=LOAD_BALANCE_PATHS
  7. retransmit_lost_packets=YES
  8. resequence_packets=YES
  9. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  10. class_tail_drop_small_packet_bytes=(~2 seconds based on WAN ingress bandwidth for the conduit)
    • GRE_EF

(Assigned to class 10)

  1. protocol_str=GRE
  2. dscp_tag=ef
  3. class_name= udp_ef_realtime_class
  4. gre_header_compression_enabled=YES
  5. transmit_mode=LOAD_BALANCE_PATHS
  6. retransmit_lost_packets=YES
  7. resequence_packets=YES
  8. resequence_holdtime_ms=set rule_default nontcp_resequence_holdtime_ms
  9. class_tail_drop_small_packet_ms=100
  10. class_tail_drop_small_packet_bytes=15000
    • GRE_AF11

(Assigned to class 11)

  1. protocol_str=GRE
  2. dscp_tag=af11
  3. class_name=control_tcp_ack_af11_int_class
  4. gre_header_compression_enabled=YES
  5. transmit_mode=LOAD_BALANCE_PATHS
  6. retransmit_lost_packets=YES
  7. resequence_packets=YES
  8. resequence_holdtime_ms=set rule_default nontcp_resequence_holdtime_ms
  9. class_tail_drop_small_packet_ms=350

10. class_tail_drop_small_packet_bytes=65000

  • GRE

(Assigned to class 13)

  1. protocol_str=GRE
  2. class_name=gre_tcp_other_interactive_class
  3. gre_header_compression_enabled=YES
  4. transmit_mode=LOAD_BALANCE_PATHS
  5. retransmit_lost_packets=YES
  6. resequence_packets=YES
  7. resequence_holdtime_ms=set rule_default nontcp_resequence_holdtime_ms
  8. class_tail_drop_small_packet_ms=350
  9. class_tail_drop_small_packet_bytes=200000
    • EF

(Assigned to class 10)

  1. protocol_str=*
  2. dscp_tag=ef
  3. class_name=udp_ef_realtime_class
  4. transmit_mode=DUPLICATE_PATHS
  5. resequence_packets=YES
  6. resequence_holdtime_ms=set rule_default nontcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=100
  8. class_tail_drop_small_packet_bytes=15000
    • AF11

(Assigned to class 11)

  1. protocol_str=*
  2. dscp_tag=af11
  3. class_name=control_tcp_ack_af11_int_class
  4. transmit_mode=PERSISTENT_PATH
  5. resequence_packets=YES
  6. resequence_holdtime_ms=set rule_default nontcp_resequence_holdtime_ms
  7. class_tail_drop_small_packet_ms=350
  8. class_tail_drop_small_packet_bytes=30000
    • UDP

(Assigned to class 10)

  1. protocol_str=UDP
  2. class_name=udp_ef_realtime_class
  3. transmit_mode=PERSISTENT_PATH
  4. resequence_packets=YES
  5. resequence_holdtime_ms=set rule_default nontcp_resequence_holdtime_ms
  6. class_tail_drop_small_packet_ms=100
  7. class_tail_drop_small_packet_bytes=15000
    • TCP

(Assigned to class 13)

  1. protocol_str=TCP
  2. class_name=gre_tcp_other_interactive_class
  3. tcp_standalone_ack_class_name=control_tcp_ack_af11_int_class
  4. tcp_standalone_ack_class_tail_drop_small_packet_ms=350
  5. tcp_standalone_ack_class_tail_drop_small_packet_bytes=30000
  6. transmit_mode=LOAD_BALANCE_PATHS
  7. retransmit_lost_packets=YES
  8. resequence_packets=YES
  9. resequence_holdtime_ms=set rule_default tcp_resequence_holdtime_ms
  10. class_tail_drop_small_packet_ms=350
  11. class_tail_drop_small_packet_bytes=300000
    • Other

(Assigned to class 13)

  1. protocol_str=*
  2. class_name=gre_tcp_other_interactive_class
  3. transmit_mode=PERSISTENT_PATH
  4. resequence_packets=NO
  5. class_tail_drop_small_packet_ms=350
  6. class_tail_drop_small_packet_bytes=200000

When the upgrade is performed, the Oracle SD-WAN Edge editor and compiler will automatically assign a percentage of the available bandwidth to each class. This will eliminate any potential issues when upgrading if there are many rules defined in an existing configuration file.