From patchwork Tue Nov 13 23:10:59 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Duyck, Alexander H" X-Patchwork-Id: 198797 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 420D42C0098 for ; Wed, 14 Nov 2012 10:12:13 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754287Ab2KMXMJ (ORCPT ); Tue, 13 Nov 2012 18:12:09 -0500 Received: from mga09.intel.com ([134.134.136.24]:15584 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752146Ab2KMXMI (ORCPT ); Tue, 13 Nov 2012 18:12:08 -0500 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 13 Nov 2012 15:11:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.83,768,1352102400"; d="scan'208";a="219228545" Received: from ahduyck-cp1.jf.intel.com ([10.23.152.162]) by orsmga001.jf.intel.com with ESMTP; 13 Nov 2012 15:12:07 -0800 Subject: [PATCH] vxlan: Update hard_header_len based on lowerdev when instantiating VXLAN To: netdev@vger.kernel.org From: Alexander Duyck Cc: shemminger@vyatta.com, davem@davemloft.net Date: Tue, 13 Nov 2012 15:10:59 -0800 Message-ID: <20121113230955.16102.62399.stgit@ahduyck-cp1.jf.intel.com> In-Reply-To: <20121113133353.227ec987@nehalam.linuxnetplumber.net> References: <20121113133353.227ec987@nehalam.linuxnetplumber.net> User-Agent: StGit/0.16 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In the event of a VXLAN device being linked to a device that has a hard_header_len greater than that of standard ethernet we could end up with the hard_header_len not being large enough for outgoing frames. In order to prevent this we should update the length when a lowerdev is provided. Signed-off-by: Alexander Duyck Acked-by: Stephen Hemminger --- drivers/net/vxlan.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 44bcc20..6b666eb 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1110,6 +1110,10 @@ static int vxlan_newlink(struct net *net, struct net_device *dev, if (!tb[IFLA_MTU]) dev->mtu = lowerdev->mtu - VXLAN_HEADROOM; + + /* update header length based on lower device */ + dev->hard_header_len = lowerdev->hard_header_len + + VXLAN_HEADROOM; } if (data[IFLA_VXLAN_TOS])