Disable Firewall offloading traffic

Disable Firewall offloading traffic

Created On 09/27/18 09:07 AM - Last Modified 09/16/21 08:01 AM

  • When session traffic is processed by the dataplane of the Palo Alto Networks firewall, session stats and timers will be updated for every packet.
  • Most of our high-end platforms have an FPGA chip to entirely offload a session (CTS and STC flows) and bypass the cores completely. 

  • PA-3200 Series
  • PA-5200 Series
  • PA-7000 Series


Depending on the platform model, different rules apply:

  • PA3050 - 50xx series
  1. Offload chip is sending a per-flow stat message to the dataplane after 16 packets are received on one flow (CTS or STC).
  2. The dataplane software will update session statistics and refresh the timer accordingly.
Note: On PA3050 and 50xx series devices, you can have a scenario where a low-traffic session has been aged-out due to TTL expiration. This can happen if the 16 packets condition has not been met before the end of this timer.
  • PA70xx/ PA52xx/ PA32xx series
       1. The PA7000 series devices handle the updates differently. It will send the per-flow stat to the Dataplane in next situations:
  • One flow has accumulated 64 packets of stat
  • A scan timer has expired for this particular flow

       2. Software will update session statistics and refresh the timer accordingly.

Note :- The behaviour of PA-5200/PA-3200 series is similar to PA-7000.
- The scan timer will update the session statistics at most after 8 seconds of receiving a packet for the flow.
- This will in-turn update the session timeout values.

  • Verification

        1. You can verify if a session has been offloaded by using the following CLI command:

> show session id <id_num>

        2. Here's an example of an SSL session that is offloaded because it is not being decrypted. The firewall cannot do any content threat detection, so it is offloaded to hardware for faster processing:

admin@PAN_firewall> show session id 96776

Session           96776

        c2s flow:
                source: [L3-Trust]
                proto:       6
                sport:       61973           dport:      443
                state:       ACTIVE          type:       FLOW
                src user:    unknown
                dst user:    unknown

        s2c flow:
                source: [L3-Untrust]
                proto:       6
                sport:       443             dport:      14690
                state:       ACTIVE          type:       FLOW
                src user:    unknown
                dst user:    unknown

        start time                           : Thu Oct 12 09:30:35 2017
        timeout                              : 1800 sec
        time to live                         : 1799 sec 
        total byte count(c2s)                : 54759
        total byte count(s2c)                : 134469
        layer7 packet count(c2s)             : 103
        layer7 packet count(s2c)             : 200
        vsys                                 : vsys1
        application                          : ssl  
        rule                                 : Trust-Untrust
        session to be logged at end          : True
        session in session ager              : True
        session updated by HA peer           : False
        address/port translation             : source
        nat-rule                             : Trust-NAT(vsys1)
        layer7 processing                    : completed
        URL filtering enabled                : True
        URL category                         : computer-and-internet-info
        session via syn-cookies              : False
        session terminated on host           : False
        session traverses tunnel             : False
        captive portal session               : False
        ingress interface                    : ethernet1/6
        egress interface                     : ethernet1/3
        session QoS rule                     : N/A (class 4)
        tracker stage l7proc                 : ctd decoder bypass
        end-reason                           : unknown

Note: In PAN-OS 7.1 and later, an offloaded session will have a tracker stage l7proc value of ctd decoder bypass.

       3. All session statistics and timers are maintained in software. So, it's necessary for the offload chip to send regular updates to the software. These updates cannot be sent for every packet, due to performance concerns.


  • Workaround

To avoid the offloading of the sessions, there are a couple of workarounds to achieve this:

       1. Turn off hardware offload
Temporarily turn off hard offloading, use the CLI command: 
> set session offload no
Or Permanentlyuse the CLI command: (even after a reboot, the offloading will be disabled)
> configure
# set deviceconfig setting session offload no
# commit

 Note: This approach can have a noticeable impact on the CPU.

            2. Tune the tcp keepalive timer and interval on the application servers.

Additional Information
Prior to PANOS version 8.1, creating a custom application and adjusting the timeout value for the custom application was a necessary step in the workaround to accommodate the worst-case scenario.
From PANOS version 8.1 and later, this is no longer necessary as is stated in the following techdoc for Service-Based Session Timeouts.  

  • Print
  • Copy Link


Choose Language