From patchwork Thu Feb 22 19:18:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Deep Ajmera X-Patchwork-Id: 876595 X-Patchwork-Delegate: rbryant@redhat.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ericsson.com header.i=@ericsson.com header.b="YfoQlXeb"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ericsson.com header.i=@ericsson.com header.b="FtS5e348"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3znBfx5npZz9s0t for ; Thu, 22 Feb 2018 22:18:17 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 1E2C5E14; Thu, 22 Feb 2018 11:18:16 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 983BAE0F for ; Thu, 22 Feb 2018 11:18:15 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 658B45CC for ; Thu, 22 Feb 2018 11:18:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1519298292; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=vdA+Of3MB98vUGvxG57EybCJFs/EK/sRB9njeqjvOVo=; b=YfoQlXebo+F5Qg8if+44Si2IkiiA9rWAGNsQkLtqGRrQrsblUm+3/Cx2BbN6RwEa BwMxDAAOx7+/KEEE36TOsaehDZHezBnhC7J6w/9vAWq7F7/PnpYx3aXFFPwOfcQf 5/lqHt0sdur6FV4PRL1E2iN1QUknQQP0ToplwrbO2y8=; X-AuditID: c1b4fb2d-4b1ff70000005540-a7-5a8ea6f45e89 Received: from ESESSHC018.ericsson.se (Unknown_Domain [153.88.183.72]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id FA.FB.21824.4F6AE8A5; Thu, 22 Feb 2018 12:18:12 +0100 (CET) Received: from ESESBMR502.ericsson.se (153.88.183.134) by ESESSHC018.ericsson.se (153.88.183.72) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 22 Feb 2018 12:18:11 +0100 Received: from ESESSMB505.ericsson.se (153.88.183.166) by ESESBMR502.ericsson.se (153.88.183.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Thu, 22 Feb 2018 12:18:11 +0100 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB505.ericsson.se (153.88.183.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26 via Frontend Transport; Thu, 22 Feb 2018 12:18:11 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=2Jc6XOlk9eWkPuKBWOur2MaWGQ7QYn4PH15+DG4JhBo=; b=FtS5e348UbXqOBzOgDR1/GAanB0fYiyxcYBQgbhmosoVjKqGmM20Ti4cQqFlwELCFS4S3sxRQQjQxf8WpcD60roI80d1JSkL07ggovQ4+q11F7EzHddrJ5dOAwfnMhOvIyMINJGnwPOpLcNLpBiPb2zFcxoqXJtt8+zsgumRk7s= Received: from localhost.localdomain (125.16.128.122) by HE1PR0701MB2969.eurprd07.prod.outlook.com (2603:10a6:3:4c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.527.6; Thu, 22 Feb 2018 11:18:09 +0000 From: Vishal Deep Ajmera To: Date: Fri, 23 Feb 2018 00:48:49 +0530 Message-ID: <1519327129-12523-1-git-send-email-vishal.deep.ajmera@ericsson.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [125.16.128.122] X-ClientProxiedBy: BM1PR0101CA0064.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:19::26) To HE1PR0701MB2969.eurprd07.prod.outlook.com (2603:10a6:3:4c::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 74d8efd6-6c3f-444a-2107-08d579e5f4be X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:HE1PR0701MB2969; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2969; 3:u8G54pHUmtubbMAdZOqMC1DTtqGs5/M2gXDeKaEbmpydx6skTyggRg00/Dd7hpxI3B5ZFn3C8EcA570Mf7tdOFdYFrTTJ9LDEsqEppfN3oBAb/gE2Q3TcXRu6nL+8sJdTmGcmUFNmsCe2GHuiW7Su4C5HgW/cwmdHy2XIVhcdXWQh/wdLctynJH/VwiFlIxKGW+IbHrlzvEvsZQS0GMJ+OB0bvL4HvBduoBALOgLTNCE0ROhdnJ67ZAaSzClkIdu; 25:VLTO20sOM2iExvCC0ycU+RQF0Kcpq3OnlGm/1pXQlMvpss7BwEQFuWR//bDVTrSR+DaByresquCpHwGcPskqJCQ6Ro9kcGLPe/m10nGveoTz/v+AawH3r9WFXrXVVzLduCp1P0kyT1NqKNSkM5mifkw0rqSZhlqKIIhb+hD65AJVnUdqI2BITU0YQhXXsUYokRrWhp6QXxrA/kMv9YgW7h0EmDUjzHuWRDq5Lb0kqNPsnyB7ACxGB+fgetAzKY937DHMxpCVKHSCjAqUqCJpHI6ltBGxVabHv87XSPKj9QklYQZn7ryfcfhgIpe+56sTmeS/lNsJHyQCuZIuB27n4g==; 31:DunqVFjbuEBtWpzVWpdyxXlYxQlmhszK1f4iWlVlQewatDiQDnZay5xptOB73a0I8x2H9s6yyOW8Hknv7UlPM/kUWhslUXf51+tIMh9wBtWrifZ8sjNOSWv+6IDs/MP46KplLeSf66wpGYkK06XK909nGnJgs9uevmjHwFC3LKIydajPK7J2bMHW/o6hbl1V03nES2697sOG54Qq/gk1W0cKZS6WqdJB9oo4VnLxIlg= X-MS-TrafficTypeDiagnostic: HE1PR0701MB2969: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=vishal.deep.ajmera@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2969; 20:18glaVXOUOWmH2WID7wrLfXauCUDegJbOfgKVKJ870ocm7wRV1KY5hSL9nUkWHPmfC2c31Jsd22VRWgIU0oA0cgPj0zKiYCkzi+dKRarPyZamHUWI1qev1PvfHhTLNAwZ1icS00vY4Vgi0pFnjakQkv8ynQpsrwQRN0Pb0N5HN9Qs09DaKoGoT5eWNfPoxLT/xxx0Qf9Z+Dbsst2LmxsRxkNucphv7V0oXT/+6VBa3c9AJUpbKiDbLtpyz4BJF31bGOwibw2G3pv+8BB05phJbrkYnCgNYEolmg6E0nzIfQ75J+8mSAGIQJ06/p65nDsepnwBB1SSxk4vxL6BjAjZUOwVRMYuhLWt8DlMFyc0YBqOUOWcX48jYKaAU+5Qc7hZ6pFrD1HphG3tGP218LBkhcX0tPWT05E02SPmdItbryfhJpKr4CPtVTk7zpwVhnWQJu+YCHjDu1uBZ1j6Vg7RuYoOIXlZk+9bC7fXQgfy7mhpZaSrSsyt3p4RIzPbDiw; 4:w8r2OlpdKgnUaSuCi1IREvS9y//0tqOqcP/2dVFPVui6UGbk202ApCzhV6slq0/YEOpJN7XYv3JMp3ddQh4IA5U3DQ1hPA6LsGdVaYHeoqb1X14kdHg4f6s8UQODyDpfwV/4bGe0w0OEpPA1s77L8/u8kNYk1IkVPKzGwEPQW5ew/dxjBTVB5CHjvEArnY5o3yOkhgxODHCVu0sf6FnVotOhRzpHziHAAGcNeeNIue49dO924C8ctWdIzHw1j2NVXqVWuOmjiLBPB59DIjAduBj6KbVi21KR+Z1wTGblE6zykUL1JDEi+6vgKb4EA3ju X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001078)(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231162)(944501161)(52105095)(3002001)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:HE1PR0701MB2969; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0701MB2969; X-Forefront-PRVS: 059185FE08 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(39860400002)(396003)(376002)(366004)(39380400002)(346002)(199004)(189003)(47776003)(66066001)(55236004)(386003)(26005)(59450400001)(305945005)(52116002)(7736002)(51416003)(6916009)(6666003)(186003)(6506007)(16526019)(1857600001)(16586007)(54906003)(316002)(3846002)(53936002)(6116002)(2906002)(6512007)(25786009)(105586002)(48376002)(5660300001)(6486002)(50466002)(8936002)(81156014)(81166006)(50226002)(8676002)(5890100001)(2351001)(2361001)(478600001)(106356001)(4326008)(97736004)(36756003)(86362001)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0701MB2969; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0701MB2969; 23:eS8wkFs0lXP1ugHI3E82xP8pSiWuZbMCLPnJOIh?= MMTSGSd3bbaSj1z8g1Rv/EN2g4ZNB5ULw0JY9WY61TzZnxFxydXgF853y3rBxfulXqDFuzd5XtVM6b4nKmJwTz8D/neN1eGJ2N7HCAlPXcRQTbkbganByLpdp98FL1WHX8aO1NjF9e/fw+Ot8Bn7xL9WREaZl6gt7hb59ETGp70SiU3xuRgBAkDIkbdw1uK00n0D7Wxsyz0kLt+pp3dmG/lZGlDfsocDMw2eXfe/WQpqiwELJ2gQEM9XG5RESV/3ZyKTLPrK6/IG9+0mAZSzkdiKoY2uKBh/YHJBpHQHapIewdSFgpTnrOiUgbAjprkAXA8JV/m278WRKhiGWboNjKTISbo5s0eVBR9vVG4GCxPZIfbRI9b0sksDbJOQiPUja9MtwQPCRuPdud5ozxGCGQoFXFDiMA2Y/mU+2J9kk+3b6Bw24NjZlN3nrDJSV2+H6AQnnWeoaMcazuVoLxI5SPWHPXDvOXt/FDdEcjv6tNb7u5/ROqw9lG0Oil8Wa9X7mKFqmmrirMLjrwhK8GxcC+K1xlj4c1NB6uoFBa3aZSHgo8CAEz3yvKLTyxmEZ7CAbCZwMy5uwb0gkA/tY3eVvCk9qGoSummLKfYPC5V3qPEVKXH5SNY9Dc5dltNBU99QQhyGNN0yUVU+Ba1hI5Kld3oshKmNdbzqiYO9zknttxp00rOyLc7J+hIloxmhumMozFkGsc/vcgBcq5Tais2BhJ4kWKVpEeHdDOiIoxFi3oWgYgoL8XWvodYYYr2cXw46P/nsGooAmikR2UJL2/bR+pyi2SEsBwuwsxUJjoikeJ7A2J4xHEIRxuzh2+9f46mQ0mdmLSv+6CphaIKwjKzUupk3Fq5Jhh5Six9am/l/xSETuhzfE44oGApuavINCispkSLuJzp6mONRaMsYcYAorLx5g3mD+ZBqkiGmkH5FGgG6H9c/P8904oC1Zw3nS9wYnR9zO8QwyJTJX6LLExv0cWYO0txBKguovDKd67dmzj23CQlmzI793lirGXA6qIdP1BUIm4R5BKqFm5fB9neWfbKZo6QHcKg/4qjRqmqoUKb2BYPKf12dCx3ckDV+KzzxIi3aEjxaSLu58x3Mdm4dD7gzGnxGiBc9NqH6ZUmKNZsUTLcvlDBgDluUEV+9ygYsXXdTITuEzHTUMoDQBssBmELGvCzp+jW31fGxoYHH8XNqNbw== X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2969; 6:8jjRJ7UqHJWKtwYjyFF1xzJn/erzsSEroHRAduNJH4VDQss6tSvjr7U3xP4Lz04uQKI74MQ257PAFdbnjKK4O/IfjAOJsc4ryEO1dyFeK25Xjg078CyJnGl9uuXEnD2Weot/L2o+nNE2AHFSJvDO6BmFtaVcCENofzvXUdcPnFJsVFyC2VwzH37Uc8Yei0uaO4ScTuf5Wc/XQxKMt6Wjr5wBvE7dHSgKlcrTexgT7bLkHkXtRrgwOT1nDSzu9C/6RA67RjKPSjuiIWTv81JgW3mO29LkQZve+NCQ6a0wUvDIWBTBP8KF52kkHsYgLYuReuwcgpyGltGahF37hXWwDF5U7H0E6XmZeNJj0Ac5zhA=; 5:eV1xz2VQo6q2ITx8qT0ddJUVslYPswj9o5xLtIix79JjC94JUWq6JtEYtxsG0jbyOYKgALnLp0e0z+IAK5GZvbK2UYv6591yF4jLdmFj7RhzF6Vs+YnIPzt1A4cz+b5XS0p8IplvbfGQjjXL598j0B2s6y9vH3xr9bz6eWiPatg=; 24:kH2+eYeDwRu/Yhp+8AMUiEIT6OzRhqVLQFgHCgzZhRq+d/TzeXXI5yQmmK7sT6PpfL/9VbAKuSWfPjaBE5Rd9m0hF+K4BqG26VDsqGaDWXA=; 7:Ld6TomsWOEQzoL1RHFlTDiO65oLhc/gYUG6XUGSM2tgpWJXTmNmE9G/DWtamH1SCbQoWPZakGy+c8xXrdYH4qnw75QfdfGTzERYb5aEAs2RB4BI4CYkYsNBXVyG8ZBKWDUWdbnt9peEkeMWgc/V8Z0ThPm1Frv2S6QZyDky5WchB8flRGQ5VfNLZu8nedJXQAuHQAYJ6Xg6G/FI2vnaq/9hAN4npEHw1Snu4Id5Fara4QtbrbvDfj+zqrPS+SPdd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2018 11:18:09.3678 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74d8efd6-6c3f-444a-2107-08d579e5f4be X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2969 X-OriginatorOrg: ericsson.com X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsUyM2K7h+6XZX1RBrP3aFocPb2H2WLLtMms Dkwez27+Z/T433yVNYApissmJTUnsyy1SN8ugStj5stj7AUzpCrWX21ibmCcJ9rFyMkhIWAi 8fT6W0YQW0jgMKPEnD0JXYxcQPYWRonN7/cxQyS+M0qcWMABkVjKJPHj1XxGEIdF4BOTRH/v NHaITDuTxJVHK9hBWtgErCR+TelnAbFFBCQl/i3ewgZiMwvESsy5dJG1i5GDQ1ggQGLKbjeQ MIuAqsSJz2/AynkF/CUmLtjNAnGenMTJY5NZIeKCEidnPmGBGCMhcfDFC2aIGiWJXZvvM4Pc ICEwk1Gi+/N/qH90JE49v84KUSQrcfTsHKihvhLvJ2xkhLBPMUqsvC4M0dzELnFg5wyoIh2J LcensYEcyiiQJPHgpQVEzS82iZN7ljNB1ORLPL66DqreSuL1r++MEEUrmSXuPd3KAtIsISAj MX9iCUR8K6vEn6+NLBDXpUpsudHCNoFRaxaS72Yh+W4BI9MqRtHi1OLi3HQjY73Uoszk4uL8 PL281JJNjMBEcHDLb90djKtfOx5iFOBgVOLhjV/SFyXEmlhWXJl7iFGCg1lJhHdpKFCINyWx siq1KD++qDQntfgQozQHi5I470lP3ighgfTEktTs1NSC1CKYLBMHp1QDY5eXMauRvv+inraV 85z5/nIwP7ooqmJ91Fd8R+OGXVUqWoVGrxj+2B34czKu79qM5v6e43+D6vxf2y7qaFzduHve hL/ZpauX8E53sLt37K34v8agaT3GST+nvaqYNj/2z+4Ha0Um/Xhn25b+qHPiR95El9NM9Skh 778aGy51/G5299ZM+93vniixFGckGmoxFxUnAgAbs1quAAMAAA== X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00, DATE_IN_FUTURE_06_12, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Flavio Leitner Subject: [ovs-dev] [PATCH] rhel: Avoid losing bridge configuration after adding DPDK ports X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Whenever a DPDK port is added to or deleted from an OVS bridge, the bridge interface is reconfigured with the lowest MAC address among the connected DPDK ports. When changing the MAC address, OVS performs a sequences of events UP -> DOWN -> UP on the bridge interface. In deployments of OVS in RHEL distribution this results in loosing Linux networking configuration attached to the bridge interface (e.g. static routes). This patch changes the interface configuration scripts used in a RHEL deployment to trigger post-up operations on the bridge device after a change of MAC address. Signed-off-by: Vishal Deep Ajmera Signed-off-by: Flavio Leitner Signed-off-by: Vishal Deep Ajmera Signed-off-by: Flavio Leitner Acked-by: Flavio Leitner --- rhel/README.RHEL.rst | 5 +++++ rhel/etc_sysconfig_network-scripts_ifup-ovs | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/rhel/README.RHEL.rst b/rhel/README.RHEL.rst index f3d2942..1cd2065 100644 --- a/rhel/README.RHEL.rst +++ b/rhel/README.RHEL.rst @@ -93,6 +93,11 @@ Note answers: File exists`` printed on the console. This comes from ifup-eth trying to add zeroconf route multiple times and is harmless. +* ``ifup`` on OVSDPDKPort or OVSDPDKBond may result in change of bridge mac address. + Since OVS changes the device state to DOWN before changing its mac address this + result in loss of bridge configuration (e.g. routes). ``ifup-ovs`` perform post-up + operation on the bridge again to restore configuration. + Examples -------- diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs index b95220a..1c65f13 100755 --- a/rhel/etc_sysconfig_network-scripts_ifup-ovs +++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs @@ -167,10 +167,18 @@ case "$TYPE" in ;; OVSDPDKPort) ifup_ovs_bridge + BRIDGE_MAC_ORIG=$(get_hwaddr $OVS_BRIDGE) ovs-vsctl -t ${TIMEOUT} \ -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS \ -- set Interface "$DEVICE" type=dpdk ${OVS_EXTRA+-- $OVS_EXTRA} + BRIDGE_MAC=$(get_hwaddr $OVS_BRIDGE) + # The bridge may change its MAC to be the lower one among all its + # ports. If that happens, bridge configuration (e.g. routes) will + # be lost. Restore the post-up bridge configuration again. + if [ "$BRIDGE_MAC_ORIG" != "$BRIDGE_MAC" ]; then + ${OTHERSCRIPT} "$OVS_BRIDGE" + fi ;; OVSDPDKRPort) ifup_ovs_bridge @@ -196,12 +204,20 @@ case "$TYPE" in ;; OVSDPDKBond) ifup_ovs_bridge + BRIDGE_MAC_ORIG=$(get_hwaddr $OVS_BRIDGE) for _iface in $BOND_IFACES; do IFACE_TYPES="${IFACE_TYPES} -- set interface ${_iface} type=dpdk" done ovs-vsctl -t ${TIMEOUT} \ -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ -- add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${IFACE_TYPES} ${OVS_EXTRA+-- $OVS_EXTRA} + BRIDGE_MAC=$(get_hwaddr $OVS_BRIDGE) + # The bridge may change its MAC to be the lower one among all its + # ports. If that happens, bridge configuration (e.g. routes) will + # be lost. Restore the post-up bridge configuration again. + if [ "$BRIDGE_MAC_ORIG" != "$BRIDGE_MAC" ]; then + ${OTHERSCRIPT} "$OVS_BRIDGE" + fi ;; *) echo $"Invalid OVS interface type $TYPE"