Author: mw
Date: Thu Nov  9 12:32:10 2017
New Revision: 325585
URL: https://svnweb.freebsd.org/changeset/base/325585

Log:
  Fix checking if the DF flag was set in ENA driver
  
  The previous way of checking for DF was not valid.
  When DF is enabled, the DF bit should be 1.
  
  The original way of checking it was wrong in 2 ways: first of all, it
  was not checking for single bit, secondly, it was checking for 0.
  
  Submitted by: Michal Krawczyk <m...@semihalf.com>
  Reviewed by: byenduri_gmail.com
  Obtained from: Semihalf
  Sponsored by: Amazon, Inc.
  Differential Revision: https://reviews.freebsd.org/D12865

Modified:
  head/sys/dev/ena/ena.c

Modified: head/sys/dev/ena/ena.c
==============================================================================
--- head/sys/dev/ena/ena.c      Thu Nov  9 12:07:02 2017        (r325584)
+++ head/sys/dev/ena/ena.c      Thu Nov  9 12:32:10 2017        (r325585)
@@ -2640,7 +2640,7 @@ ena_tx_csum(struct ena_com_tx_ctx *ena_tx_ctx, struct 
        switch (etype) {
        case ETHERTYPE_IP:
                ena_tx_ctx->l3_proto = ENA_ETH_IO_L3_PROTO_IPV4;
-               if (ip->ip_off == 0)
+               if ((ip->ip_off & htons(IP_DF)) != 0)
                        ena_tx_ctx->df = 1;
                break;
        case ETHERTYPE_IPV6:
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to