vFW: Remove TTL decrementing in firewall acting as gateway 49/37249/3
authorAnand B Jyoti <anand.b.jyoti@intel.com>
Tue, 11 Jul 2017 22:55:16 +0000 (04:25 +0530)
committerAnand B Jyoti <anand.b.jyoti@intel.com>
Wed, 12 Jul 2017 02:21:27 +0000 (07:51 +0530)
JIRA: SAMPLEVNF-51

vFW is not functioning as a router and hence TTL decrement is
not required. Remove this TTL decrementing in vFW.

Change-Id: I49ae9b19a473eec0b8072f8a556dca299d89ef74
Signed-off-by: Anand B Jyoti <anand.b.jyoti@intel.com>
VNFs/vFW/pipeline/pipeline_vfw_be.c

index 70057b4..7c532ed 100644 (file)
@@ -637,14 +637,6 @@ rte_vfw_ipv4_packet_filter_and_process(struct rte_mbuf **pkts,
                      vfw_pipe->counters->pkts_drop_fragmented++;
               }
 
-              /*
-               * Behave like a router, and decrement the TTL of an
-               * IP packet. If this causes the TTL to become zero,
-               * the packet will be discarded. Unlike a router,
-               * no ICMP code 11 (Time * Exceeded) message will be
-               * sent back to the packet originator.
-               */
-
               if (unlikely(ttl <= 1)) {
                      /*
                       * about to decrement to zero (or is somehow
@@ -670,18 +662,6 @@ rte_vfw_ipv4_packet_filter_and_process(struct rte_mbuf **pkts,
 
               if (unlikely(discard)) {
                      valid_packets &= ~pkt_mask;
-              } else {
-                     ihdr4->time_to_live = ttl - 1;
-
-                     /* update header checksum, from rfc 1141 */
-                     uint32_t sum;
-                     uint16_t checksum = rte_bswap16(
-                                   ihdr4->hdr_checksum);
-                     /* increment checksum high byte */
-                     sum = checksum + 0x100;
-                     /* add carry */
-                     checksum = (sum + (sum >> BIT_CARRY));
-                     ihdr4->hdr_checksum = rte_bswap16(checksum);
               }
 
               /* make next packet data the current */