An optical node (9, 39) for transmitting data frames in an optical packet switching network (1, 48), comprising: a. an input configured for receiving an incoming optical packet (10, 49), wherein the incoming optical packet comprises a payload (56, 19) assembling a first data frame and a second data frame, wherein the first data frame is intended to be received and the second data frame is intended to be transmitted, b. an insertion module, c. a decision module which is configured for determining a value of a decision metric, d. a disassembling module for disassembling payloads into data frames, e. an assembling module for assembling data frames into payloads, f. an output for transmitting optical packets, • if the value of the decision metric exceeds a threshold: ∘ the disassembling module is configured to disassemble the payload to obtain the first and the second data frames, then ∘ the decision module is configured to select a third data frame which is temporarily stored in the insertion module, ∘ the assembling module is configured to generate an insertion payload assembling the second data frame and the third data frame, and ∘ the output is configured to generate and to transmit an insertion optical packet comprising the insertion payload, • if the value of the decision metric does not exceed the threshold: ∘ the output is configured to transmit the incoming optical packet. a. an input configured for receiving an incoming optical packet (10, 49), wherein the incoming optical packet comprises a payload (56, 19) assembling a first data frame and a second data frame, wherein the first data frame is intended to be received and the second data frame is intended to be transmitted, b. an insertion module, c. a decision module which is configured for determining a value of a decision metric, d. a disassembling module for disassembling payloads into data frames, e. an assembling module for assembling data frames into payloads, f. an output for transmitting optical packets, • if the value of the decision metric exceeds a threshold: ∘ the disassembling module is configured to disassemble the payload to obtain the first and the second data frames, then ∘ the decision module is configured to select a third data frame which is temporarily stored in the insertion module, ∘ the assembling module is configured to generate an insertion payload assembling the second data frame and the third data frame, and ∘ the output is configured to generate and to transmit an insertion optical packet comprising the insertion payload, • if the value of the decision metric does not exceed the threshold: ∘ the output is configured to transmit the incoming optical packet. • if the value of the decision metric exceeds a threshold: ∘ the disassembling module is configured to disassemble the payload to obtain the first and the second data frames, then ∘ the decision module is configured to select a third data frame which is temporarily stored in the insertion module, ∘ the assembling module is configured to generate an insertion payload assembling the second data frame and the third data frame, and ∘ the output is configured to generate and to transmit an insertion optical packet comprising the insertion payload, ∘ the disassembling module is configured to disassemble the payload to obtain the first and the second data frames, then ∘ the decision module is configured to select a third data frame which is temporarily stored in the insertion module, ∘ the assembling module is configured to generate an insertion payload assembling the second data frame and the third data frame, and ∘ the output is configured to generate and to transmit an insertion optical packet comprising the insertion payload, • if the value of the decision metric does not exceed the threshold: ∘ the output is configured to transmit the incoming optical packet. ∘ the output is configured to transmit the incoming optical packet.