net/bnxt: move VXLAN outer IP protocol ID in encap
authorKishore Padmanabha <kishore.padmanabha@broadcom.com>
Mon, 6 Jul 2020 08:24:53 +0000 (13:54 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Sat, 11 Jul 2020 04:18:53 +0000 (06:18 +0200)
The outer ip protocol was not encapsulated in the right location
when ip header is sent by the application. The order of encapsulation
has to be reversed.

Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Mike Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/tf_ulp/ulp_rte_parser.c

index b4bf431..2e310e0 100644 (file)
@@ -1151,15 +1151,15 @@ ulp_rte_vxlan_encap_act_handler(const struct rte_flow_action *action_item,
                        const uint8_t *tmp_buff;
 
                        buff = &ap->act_details[BNXT_ULP_ACT_PROP_IDX_ENCAP_IP];
-                       ulp_encap_buffer_copy(buff,
-                                             &ipv4_spec->hdr.version_ihl,
-                                             BNXT_ULP_ENCAP_IPV4_VER_HLEN_TOS);
-                       buff = &ap->act_details[BNXT_ULP_ACT_PROP_IDX_ENCAP_IP +
-                            BNXT_ULP_ENCAP_IPV4_VER_HLEN_TOS];
                        tmp_buff = (const uint8_t *)&ipv4_spec->hdr.packet_id;
                        ulp_encap_buffer_copy(buff,
                                              tmp_buff,
                                              BNXT_ULP_ENCAP_IPV4_ID_PROTO);
+                       buff = &ap->act_details[BNXT_ULP_ACT_PROP_IDX_ENCAP_IP +
+                            BNXT_ULP_ENCAP_IPV4_ID_PROTO];
+                       ulp_encap_buffer_copy(buff,
+                                             &ipv4_spec->hdr.version_ihl,
+                                             BNXT_ULP_ENCAP_IPV4_VER_HLEN_TOS);
                }
                buff = &ap->act_details[BNXT_ULP_ACT_PROP_IDX_ENCAP_IP +
                    BNXT_ULP_ENCAP_IPV4_VER_HLEN_TOS +