From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D747DC4320A for ; Sat, 31 Jul 2021 02:09:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B8B5E60F36 for ; Sat, 31 Jul 2021 02:09:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235710AbhGaCJc (ORCPT ); Fri, 30 Jul 2021 22:09:32 -0400 Received: from mailgw02.mediatek.com ([1.203.163.81]:33459 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S231335AbhGaCJa (ORCPT ); Fri, 30 Jul 2021 22:09:30 -0400 X-UUID: 9d273a60bfbf44edb13902f379c49518-20210731 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=y38IED9myYQxrmXiRiU7/BbW5imRoZJLVz1+uPrVd64=; b=LpEbyEkfSFkK2I7aP6KRuE/Iam93Z1NWqyo9rEkPvGch2zmCy/Jnvs2hpYRzcaFlM/IhmtY6JSATCfwOwH0i543zmzsY5ueMog0WT6OrqfJKqPm4L8u+4ZTIE8pYn0oce810oT1B29GjaEVfZGy9waSr6S6bZgrvcDjDEB4FPcU=; X-UUID: 9d273a60bfbf44edb13902f379c49518-20210731 Received: from mtkmrs31.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1773357235; Sat, 31 Jul 2021 10:09:22 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by MTKMBS32N1.mediatek.inc (172.27.4.71) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 31 Jul 2021 10:09:09 +0800 Received: from localhost.localdomain (10.15.20.246) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 31 Jul 2021 10:09:02 +0800 From: Rocco Yue To: "David S . Miller" , David Ahern , Jakub Kicinski , Hideaki YOSHIFUJI CC: , , , , , , , Rocco Yue Subject: [PATCH net-next v2] ipv6: add IFLA_INET6_RA_MTU to expose mtu value in the RA message Date: Sat, 31 Jul 2021 09:52:30 +0800 Message-ID: <20210731015230.11589-1-rocco.yue@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: C254CF878AC218E990404A06BE5801CA40785056E585CA60BD1DEB6A5A00BE8A2000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhlIGtlcm5lbCBwcm92aWRlcyBhICIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi88aWZhY2U+L210 dSINCmZpbGUsIHdoaWNoIGNhbiB0ZW1wb3JhcmlseSByZWNvcmQgdGhlIG10dSB2YWx1ZSBvZiB0 aGUgbGFzdA0KcmVjZWl2ZWQgUkEgbWVzc2FnZSB3aGVuIHRoZSBSQSBtdHUgdmFsdWUgaXMgbG93 ZXIgdGhhbiB0aGUNCmludGVyZmFjZSBtdHUsIGJ1dCB0aGlzIHByb2MgaGFzIGZvbGxvd2luZyBs aW1pdGF0aW9uczoNCg0KKDEpIHdoZW4gdGhlIGludGVyZmFjZSBtdHUgKC9zeXMvY2xhc3MvbmV0 LzxpZmFjZT4vbXR1KSBpcw0KdXBkZWF0ZWQsIG10dTYgKC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25m LzxpZmFjZT4vbXR1KSB3aWxsDQpiZSB1cGRhdGVkIHRvIHRoZSB2YWx1ZSBvZiBpbnRlcmZhY2Ug bXR1Ow0KKDIpIG10dTYgKC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLzxpZmFjZT4vbXR1KSBvbmx5 IGFmZmVjdA0KaXB2NiBjb25uZWN0aW9uLCBhbmQgbm90IGFmZmVjdCBpcHY0Lg0KDQpUaGVyZWZv cmUsIHdoZW4gdGhlIG10dSBvcHRpb24gaXMgY2FycmllZCBpbiB0aGUgUkEgbWVzc2FnZSwNCnRo ZXJlIHdpbGwgYmUgYSBwcm9ibGVtIHRoYXQgdGhlIHVzZXIgc29tZXRpbWVzIGNhbm5vdCBvYnRh aW4NClJBIG10dSB2YWx1ZSBjb3JyZWN0bHkgYnkgcmVhZGluZyBtdHU2Lg0KDQpBZnRlciB0aGlz IHBhdGNoIHNldCwgaWYgYSBSQSBtZXNzYWdlIGNhcnJpZXMgdGhlIG10dSBvcHRpb24sDQp5b3Ug Y2FuIHNlbmQgYSBuZXRsaW5rIG1zZyB3aGljaCBubG1zZ190eXBlIGlzIFJUTV9HRVRMSU5LLA0K YW5kIHRoZW4gYnkgcGFyc2luZyB0aGUgYXR0cmlidXRlIG9mIElGTEFfSU5FVDZfUkFfTVRVIHRv DQpnZXQgdGhlIG10dSB2YWx1ZSBjYXJyaWVkIGluIHRoZSBSQSBtZXNzYWdlIHJlY2VpdmVkIG9u IHRoZQ0KaW5ldDYgZGV2aWNlLg0KDQpJbiB0aGlzIHdheSwgaWYgdGhlIE1UVSB2YWx1ZXMgdGhh dCB0aGUgZGV2aWNlIHJlY2VpdmVzIGZyb20NCnRoZSBuZXR3b3JrIGluIHRoZSBQQ08gSVB2NCBh bmQgdGhlIFJBIElQdjYgcHJvY2VkdXJlcyBhcmUNCmRpZmZlcmVudCwgdGhlIHVzZXIgc3BhY2Ug cHJvY2VzcyBjYW4gcmVhZCByYV9tdHUgdG8gZ2V0DQp0aGUgbXR1IHZhbHVlIGNhcnJpZWQgaW4g dGhlIFJBIG1lc3NhZ2Ugd2l0aG91dCB3b3JyeWluZw0KYWJvdXQgdGhlIGlzc3VlIG9mIGlwdjQg YmVpbmcgc3R1Y2sgZHVlIHRvIHRoZSBsYXRlIGFycml2YWwNCm9mIFJBIG1lc3NhZ2UuIEFmdGVy IGNvbXBhcmluZyB0aGUgdmFsdWUgb2YgcmFfbXR1IGFuZCBpcHY0DQptdHUsIHRoZW4gdGhlIGRl dmljZSBjYW4gdXNlIHRoZSBsb3dlciBNVFUgdmFsdWUgZm9yIGJvdGgNCklQdjQgYW5kIElQdjYu DQoNClNpZ25lZC1vZmYtYnk6IFJvY2NvIFl1ZSA8cm9jY28ueXVlQG1lZGlhdGVrLmNvbT4NCi0t LQ0KIGluY2x1ZGUvbmV0L2lmX2luZXQ2LmggICAgICAgICAgICAgfCAyICsrDQogaW5jbHVkZS91 YXBpL2xpbnV4L2lmX2xpbmsuaCAgICAgICB8IDEgKw0KIG5ldC9pcHY2L2FkZHJjb25mLmMgICAg ICAgICAgICAgICAgfCA1ICsrKysrDQogbmV0L2lwdjYvbmRpc2MuYyAgICAgICAgICAgICAgICAg ICB8IDUgKysrKysNCiB0b29scy9pbmNsdWRlL3VhcGkvbGludXgvaWZfbGluay5oIHwgMSArDQog NSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9pbmNsdWRl L25ldC9pZl9pbmV0Ni5oIGIvaW5jbHVkZS9uZXQvaWZfaW5ldDYuaA0KaW5kZXggNzFiYjRjYzRk MDVkLi41Y2MyNjBkZWFkMzMgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL25ldC9pZl9pbmV0Ni5oDQor KysgYi9pbmNsdWRlL25ldC9pZl9pbmV0Ni5oDQpAQCAtMjEzLDYgKzIxMyw4IEBAIHN0cnVjdCBp bmV0Nl9kZXYgew0KIA0KIAl1bnNpZ25lZCBsb25nCQl0c3RhbXA7IC8qIGlwdjZJbnRlcmZhY2VU YWJsZSB1cGRhdGUgdGltZXN0YW1wICovDQogCXN0cnVjdCByY3VfaGVhZAkJcmN1Ow0KKw0KKwl1 bnNpZ25lZCBpbnQJCXJhX210dTsNCiB9Ow0KIA0KIHN0YXRpYyBpbmxpbmUgdm9pZCBpcHY2X2V0 aF9tY19tYXAoY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLCBjaGFyICpidWYpDQpkaWZmIC0t Z2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2lmX2xpbmsuaCBiL2luY2x1ZGUvdWFwaS9saW51eC9p Zl9saW5rLmgNCmluZGV4IDQ4ODJlODE1MTRiNi4uZmNkMWFlMjlmMTU0IDEwMDY0NA0KLS0tIGEv aW5jbHVkZS91YXBpL2xpbnV4L2lmX2xpbmsuaA0KKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lm X2xpbmsuaA0KQEAgLTQxNyw2ICs0MTcsNyBAQCBlbnVtIHsNCiAJSUZMQV9JTkVUNl9JQ01QNlNU QVRTLAkvKiBzdGF0aXN0aWNzIChpY21wdjYpCQkqLw0KIAlJRkxBX0lORVQ2X1RPS0VOLAkvKiBk ZXZpY2UgdG9rZW4JCQkqLw0KIAlJRkxBX0lORVQ2X0FERFJfR0VOX01PREUsIC8qIGltcGxpY2l0 IGFkZHJlc3MgZ2VuZXJhdG9yIG1vZGUgKi8NCisJSUZMQV9JTkVUNl9SQV9NVFUsCS8qIG10dSBj YXJyaWVkIGluIHRoZSBSQSBtZXNzYWdlICAqLw0KIAlfX0lGTEFfSU5FVDZfTUFYDQogfTsNCiAN CmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9hZGRyY29uZi5jIGIvbmV0L2lwdjYvYWRkcmNvbmYuYw0K aW5kZXggM2JmNjg1ZmU2NGI5Li45OGVlYWJhOWY4NmMgMTAwNjQ0DQotLS0gYS9uZXQvaXB2Ni9h ZGRyY29uZi5jDQorKysgYi9uZXQvaXB2Ni9hZGRyY29uZi5jDQpAQCAtNTUzNyw2ICs1NTM3LDcg QEAgc3RhdGljIGlubGluZSBzaXplX3QgaW5ldDZfaWZsYTZfc2l6ZSh2b2lkKQ0KIAkgICAgICsg bmxhX3RvdGFsX3NpemUoSUNNUDZfTUlCX01BWCAqIDgpIC8qIElGTEFfSU5FVDZfSUNNUDZTVEFU UyAqLw0KIAkgICAgICsgbmxhX3RvdGFsX3NpemUoc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcikpIC8q IElGTEFfSU5FVDZfVE9LRU4gKi8NCiAJICAgICArIG5sYV90b3RhbF9zaXplKDEpIC8qIElGTEFf SU5FVDZfQUREUl9HRU5fTU9ERSAqLw0KKwkgICAgICsgbmxhX3RvdGFsX3NpemUoNCkgLyogSUZM QV9JTkVUNl9SQV9NVFUgKi8NCiAJICAgICArIDA7DQogfQ0KIA0KQEAgLTU2NDUsNiArNTY0Niw5 IEBAIHN0YXRpYyBpbnQgaW5ldDZfZmlsbF9pZmxhNl9hdHRycyhzdHJ1Y3Qgc2tfYnVmZiAqc2ti LCBzdHJ1Y3QgaW5ldDZfZGV2ICppZGV2LA0KIAlpZiAobmxhX3B1dF91OChza2IsIElGTEFfSU5F VDZfQUREUl9HRU5fTU9ERSwgaWRldi0+Y25mLmFkZHJfZ2VuX21vZGUpKQ0KIAkJZ290byBubGFf cHV0X2ZhaWx1cmU7DQogDQorCWlmIChubGFfcHV0X3UzMihza2IsIElGTEFfSU5FVDZfUkFfTVRV LCBpZGV2LT5yYV9tdHUpKQ0KKwkJZ290byBubGFfcHV0X2ZhaWx1cmU7DQorDQogCXJldHVybiAw Ow0KIA0KIG5sYV9wdXRfZmFpbHVyZToNCkBAIC01NzYxLDYgKzU3NjUsNyBAQCBzdGF0aWMgaW50 IGluZXQ2X3NldF9pZnRva2VuKHN0cnVjdCBpbmV0Nl9kZXYgKmlkZXYsIHN0cnVjdCBpbjZfYWRk ciAqdG9rZW4sDQogc3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IGluZXQ2X2FmX3BvbGlj eVtJRkxBX0lORVQ2X01BWCArIDFdID0gew0KIAlbSUZMQV9JTkVUNl9BRERSX0dFTl9NT0RFXQk9 IHsgLnR5cGUgPSBOTEFfVTggfSwNCiAJW0lGTEFfSU5FVDZfVE9LRU5dCQk9IHsgLmxlbiA9IHNp emVvZihzdHJ1Y3QgaW42X2FkZHIpIH0sDQorCVtJRkxBX0lORVQ2X1JBX01UVV0JCT0geyAudHlw ZSA9IE5MQV9VMzIgfSwNCiB9Ow0KIA0KIHN0YXRpYyBpbnQgY2hlY2tfYWRkcl9nZW5fbW9kZShp bnQgbW9kZSkNCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9uZGlzYy5jIGIvbmV0L2lwdjYvbmRpc2Mu Yw0KaW5kZXggYzQ2N2M2NDE5ODkzLi45YzY0MTdhOGUyYjcgMTAwNjQ0DQotLS0gYS9uZXQvaXB2 Ni9uZGlzYy5jDQorKysgYi9uZXQvaXB2Ni9uZGlzYy5jDQpAQCAtMTQ5Niw2ICsxNDk2LDExIEBA IHN0YXRpYyB2b2lkIG5kaXNjX3JvdXRlcl9kaXNjb3Zlcnkoc3RydWN0IHNrX2J1ZmYgKnNrYikN CiAJCW1lbWNweSgmbiwgKCh1OCAqKShuZG9wdHMubmRfb3B0c19tdHUrMSkpKzIsIHNpemVvZiht dHUpKTsNCiAJCW10dSA9IG50b2hsKG4pOw0KIA0KKwkJaWYgKGluNl9kZXYtPnJhX210dSAhPSBt dHUpIHsNCisJCQlpbjZfZGV2LT5yYV9tdHUgPSBtdHU7DQorCQkJTkRfUFJJTlRLKDIsIGluZm8s ICJ1cGRhdGUgcmFfbXR1IHRvICVkXG4iLCBpbjZfZGV2LT5yYV9tdHUpOw0KKwkJfQ0KKw0KIAkJ aWYgKG10dSA8IElQVjZfTUlOX01UVSB8fCBtdHUgPiBza2ItPmRldi0+bXR1KSB7DQogCQkJTkRf UFJJTlRLKDIsIHdhcm4sICJSQTogaW52YWxpZCBtdHU6ICVkXG4iLCBtdHUpOw0KIAkJfSBlbHNl IGlmIChpbjZfZGV2LT5jbmYubXR1NiAhPSBtdHUpIHsNCmRpZmYgLS1naXQgYS90b29scy9pbmNs dWRlL3VhcGkvbGludXgvaWZfbGluay5oIGIvdG9vbHMvaW5jbHVkZS91YXBpL2xpbnV4L2lmX2xp bmsuaA0KaW5kZXggZDIwOGIyYWY2OTdmLi4zMDMwODVjZGMyNzEgMTAwNjQ0DQotLS0gYS90b29s cy9pbmNsdWRlL3VhcGkvbGludXgvaWZfbGluay5oDQorKysgYi90b29scy9pbmNsdWRlL3VhcGkv bGludXgvaWZfbGluay5oDQpAQCAtMjMwLDYgKzIzMCw3IEBAIGVudW0gew0KIAlJRkxBX0lORVQ2 X0lDTVA2U1RBVFMsCS8qIHN0YXRpc3RpY3MgKGljbXB2NikJCSovDQogCUlGTEFfSU5FVDZfVE9L RU4sCS8qIGRldmljZSB0b2tlbgkJCSovDQogCUlGTEFfSU5FVDZfQUREUl9HRU5fTU9ERSwgLyog aW1wbGljaXQgYWRkcmVzcyBnZW5lcmF0b3IgbW9kZSAqLw0KKwlJRkxBX0lORVQ2X1JBX01UVSwJ LyogbXR1IGNhcnJpZWQgaW4gdGhlIFJBIG1lc3NhZ2UgICovDQogCV9fSUZMQV9JTkVUNl9NQVgN CiB9Ow0KIA0KLS0gDQoyLjE4LjANCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8444FC4338F for ; Sat, 31 Jul 2021 02:10:09 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 35F626069E for ; Sat, 31 Jul 2021 02:10:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 35F626069E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=r3D1ZzfR3ieMmbiQdTiE2N1sQMaOQ5xz5PjvKwwu1nE=; b=HsmbWdHxnzllXa fwsjxEcn4V//lG18TGDGtsk1dHSxJ3PLr9+h583xCeg8SlaFC1jlLbfVO3kHqq/9q282av2yQl19E KzER1Ul4Oz21QZfGVJpxqMXjZgWMJDcrpFJhgMdpGyrSsxtEMjipvaDGyYA8Ec0gpqmx6sSfSsc/j smdd+JOwE5Oa3KJqS8CW7NvQ8gwynRqHM5TVB2zCQ5VGoxgfhEB77xDZz9yV8Xok1rYZaL/9W4FuW UJ8SA9++oyumDYSskElO+tynwdFGMkD4pEHhsjv2D+uP+Hlw2tnS5La1yZ/g5b1ex8342txk8lHJD M5jXx9QmeH8OXs2XLdug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m9eRb-00AkEy-LX; Sat, 31 Jul 2021 02:09:43 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m9eRO-00AkDT-4c; Sat, 31 Jul 2021 02:09:31 +0000 X-UUID: 4e58ccbed21c4a17b429a641c78b1aa0-20210730 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=y38IED9myYQxrmXiRiU7/BbW5imRoZJLVz1+uPrVd64=; b=LpEbyEkfSFkK2I7aP6KRuE/Iam93Z1NWqyo9rEkPvGch2zmCy/Jnvs2hpYRzcaFlM/IhmtY6JSATCfwOwH0i543zmzsY5ueMog0WT6OrqfJKqPm4L8u+4ZTIE8pYn0oce810oT1B29GjaEVfZGy9waSr6S6bZgrvcDjDEB4FPcU=; X-UUID: 4e58ccbed21c4a17b429a641c78b1aa0-20210730 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1595462905; Fri, 30 Jul 2021 19:09:24 -0700 Received: from MTKMBS32N1.mediatek.inc (172.27.4.71) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 30 Jul 2021 19:09:23 -0700 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by MTKMBS32N1.mediatek.inc (172.27.4.71) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 31 Jul 2021 10:09:09 +0800 Received: from localhost.localdomain (10.15.20.246) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 31 Jul 2021 10:09:02 +0800 From: Rocco Yue To: "David S . Miller" , David Ahern , Jakub Kicinski , Hideaki YOSHIFUJI CC: , , , , , , , Rocco Yue Subject: [PATCH net-next v2] ipv6: add IFLA_INET6_RA_MTU to expose mtu value in the RA message Date: Sat, 31 Jul 2021 09:52:30 +0800 Message-ID: <20210731015230.11589-1-rocco.yue@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-TM-SNTS-SMTP: C254CF878AC218E990404A06BE5801CA40785056E585CA60BD1DEB6A5A00BE8A2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210730_190930_215148_3F419264 X-CRM114-Status: GOOD ( 23.49 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org The kernel provides a "/proc/sys/net/ipv6/conf//mtu" file, which can temporarily record the mtu value of the last received RA message when the RA mtu value is lower than the interface mtu, but this proc has following limitations: (1) when the interface mtu (/sys/class/net//mtu) is updeated, mtu6 (/proc/sys/net/ipv6/conf//mtu) will be updated to the value of interface mtu; (2) mtu6 (/proc/sys/net/ipv6/conf//mtu) only affect ipv6 connection, and not affect ipv4. Therefore, when the mtu option is carried in the RA message, there will be a problem that the user sometimes cannot obtain RA mtu value correctly by reading mtu6. After this patch set, if a RA message carries the mtu option, you can send a netlink msg which nlmsg_type is RTM_GETLINK, and then by parsing the attribute of IFLA_INET6_RA_MTU to get the mtu value carried in the RA message received on the inet6 device. In this way, if the MTU values that the device receives from the network in the PCO IPv4 and the RA IPv6 procedures are different, the user space process can read ra_mtu to get the mtu value carried in the RA message without worrying about the issue of ipv4 being stuck due to the late arrival of RA message. After comparing the value of ra_mtu and ipv4 mtu, then the device can use the lower MTU value for both IPv4 and IPv6. Signed-off-by: Rocco Yue --- include/net/if_inet6.h | 2 ++ include/uapi/linux/if_link.h | 1 + net/ipv6/addrconf.c | 5 +++++ net/ipv6/ndisc.c | 5 +++++ tools/include/uapi/linux/if_link.h | 1 + 5 files changed, 14 insertions(+) diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h index 71bb4cc4d05d..5cc260dead33 100644 --- a/include/net/if_inet6.h +++ b/include/net/if_inet6.h @@ -213,6 +213,8 @@ struct inet6_dev { unsigned long tstamp; /* ipv6InterfaceTable update timestamp */ struct rcu_head rcu; + + unsigned int ra_mtu; }; static inline void ipv6_eth_mc_map(const struct in6_addr *addr, char *buf) diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 4882e81514b6..fcd1ae29f154 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h @@ -417,6 +417,7 @@ enum { IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ IFLA_INET6_TOKEN, /* device token */ IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ + IFLA_INET6_RA_MTU, /* mtu carried in the RA message */ __IFLA_INET6_MAX }; diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 3bf685fe64b9..98eeaba9f86c 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -5537,6 +5537,7 @@ static inline size_t inet6_ifla6_size(void) + nla_total_size(ICMP6_MIB_MAX * 8) /* IFLA_INET6_ICMP6STATS */ + nla_total_size(sizeof(struct in6_addr)) /* IFLA_INET6_TOKEN */ + nla_total_size(1) /* IFLA_INET6_ADDR_GEN_MODE */ + + nla_total_size(4) /* IFLA_INET6_RA_MTU */ + 0; } @@ -5645,6 +5646,9 @@ static int inet6_fill_ifla6_attrs(struct sk_buff *skb, struct inet6_dev *idev, if (nla_put_u8(skb, IFLA_INET6_ADDR_GEN_MODE, idev->cnf.addr_gen_mode)) goto nla_put_failure; + if (nla_put_u32(skb, IFLA_INET6_RA_MTU, idev->ra_mtu)) + goto nla_put_failure; + return 0; nla_put_failure: @@ -5761,6 +5765,7 @@ static int inet6_set_iftoken(struct inet6_dev *idev, struct in6_addr *token, static const struct nla_policy inet6_af_policy[IFLA_INET6_MAX + 1] = { [IFLA_INET6_ADDR_GEN_MODE] = { .type = NLA_U8 }, [IFLA_INET6_TOKEN] = { .len = sizeof(struct in6_addr) }, + [IFLA_INET6_RA_MTU] = { .type = NLA_U32 }, }; static int check_addr_gen_mode(int mode) diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index c467c6419893..9c6417a8e2b7 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -1496,6 +1496,11 @@ static void ndisc_router_discovery(struct sk_buff *skb) memcpy(&n, ((u8 *)(ndopts.nd_opts_mtu+1))+2, sizeof(mtu)); mtu = ntohl(n); + if (in6_dev->ra_mtu != mtu) { + in6_dev->ra_mtu = mtu; + ND_PRINTK(2, info, "update ra_mtu to %d\n", in6_dev->ra_mtu); + } + if (mtu < IPV6_MIN_MTU || mtu > skb->dev->mtu) { ND_PRINTK(2, warn, "RA: invalid mtu: %d\n", mtu); } else if (in6_dev->cnf.mtu6 != mtu) { diff --git a/tools/include/uapi/linux/if_link.h b/tools/include/uapi/linux/if_link.h index d208b2af697f..303085cdc271 100644 --- a/tools/include/uapi/linux/if_link.h +++ b/tools/include/uapi/linux/if_link.h @@ -230,6 +230,7 @@ enum { IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ IFLA_INET6_TOKEN, /* device token */ IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ + IFLA_INET6_RA_MTU, /* mtu carried in the RA message */ __IFLA_INET6_MAX }; -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 096B2C4338F for ; Sat, 31 Jul 2021 02:21:49 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C00C360F46 for ; Sat, 31 Jul 2021 02:21:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C00C360F46 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=0h7XbWCkWyfzDwkzCS480HoJ2uiAoUGkO/XmqWKZbiw=; b=Mf1QyKLQgUtRkq fQzcNRYl3E2SBqD9EwKwXgrJouXrdzPqs0LDv69lV9VzpMQORETSjleDggfdvVw+SnzHPKcQ4tJeu cCgvO/2rdrn6ONgWzTJu80iztWNBfkvMK/5fW+k+n/EKOj+e4jvfJm/sGWUmQzT2Ayx6KEVR8lzmv 2YWDT9XzEVhJI2ihVpeafeCyWEbMkPwiAu5WEt6UgUI/dEElHlQO/QODd2EIQBvAq2Wwlic3XyyIO guHbNFxatgpJ7VNRi475sQZkgr7WG0h5WcPIP+NUHn4AtsBssSSU+foMIWdr3DOoXkDk6xB3HXPzc aHMu9P1A6ExGoxnYmkxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m9eRS-00AkEH-Ec; Sat, 31 Jul 2021 02:09:34 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m9eRO-00AkDT-4c; Sat, 31 Jul 2021 02:09:31 +0000 X-UUID: 4e58ccbed21c4a17b429a641c78b1aa0-20210730 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=y38IED9myYQxrmXiRiU7/BbW5imRoZJLVz1+uPrVd64=; b=LpEbyEkfSFkK2I7aP6KRuE/Iam93Z1NWqyo9rEkPvGch2zmCy/Jnvs2hpYRzcaFlM/IhmtY6JSATCfwOwH0i543zmzsY5ueMog0WT6OrqfJKqPm4L8u+4ZTIE8pYn0oce810oT1B29GjaEVfZGy9waSr6S6bZgrvcDjDEB4FPcU=; X-UUID: 4e58ccbed21c4a17b429a641c78b1aa0-20210730 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1595462905; Fri, 30 Jul 2021 19:09:24 -0700 Received: from MTKMBS32N1.mediatek.inc (172.27.4.71) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 30 Jul 2021 19:09:23 -0700 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by MTKMBS32N1.mediatek.inc (172.27.4.71) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 31 Jul 2021 10:09:09 +0800 Received: from localhost.localdomain (10.15.20.246) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 31 Jul 2021 10:09:02 +0800 From: Rocco Yue To: "David S . Miller" , David Ahern , Jakub Kicinski , Hideaki YOSHIFUJI CC: , , , , , , , Rocco Yue Subject: [PATCH net-next v2] ipv6: add IFLA_INET6_RA_MTU to expose mtu value in the RA message Date: Sat, 31 Jul 2021 09:52:30 +0800 Message-ID: <20210731015230.11589-1-rocco.yue@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-TM-SNTS-SMTP: C254CF878AC218E990404A06BE5801CA40785056E585CA60BD1DEB6A5A00BE8A2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210730_190930_215148_3F419264 X-CRM114-Status: GOOD ( 23.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The kernel provides a "/proc/sys/net/ipv6/conf//mtu" file, which can temporarily record the mtu value of the last received RA message when the RA mtu value is lower than the interface mtu, but this proc has following limitations: (1) when the interface mtu (/sys/class/net//mtu) is updeated, mtu6 (/proc/sys/net/ipv6/conf//mtu) will be updated to the value of interface mtu; (2) mtu6 (/proc/sys/net/ipv6/conf//mtu) only affect ipv6 connection, and not affect ipv4. Therefore, when the mtu option is carried in the RA message, there will be a problem that the user sometimes cannot obtain RA mtu value correctly by reading mtu6. After this patch set, if a RA message carries the mtu option, you can send a netlink msg which nlmsg_type is RTM_GETLINK, and then by parsing the attribute of IFLA_INET6_RA_MTU to get the mtu value carried in the RA message received on the inet6 device. In this way, if the MTU values that the device receives from the network in the PCO IPv4 and the RA IPv6 procedures are different, the user space process can read ra_mtu to get the mtu value carried in the RA message without worrying about the issue of ipv4 being stuck due to the late arrival of RA message. After comparing the value of ra_mtu and ipv4 mtu, then the device can use the lower MTU value for both IPv4 and IPv6. Signed-off-by: Rocco Yue --- include/net/if_inet6.h | 2 ++ include/uapi/linux/if_link.h | 1 + net/ipv6/addrconf.c | 5 +++++ net/ipv6/ndisc.c | 5 +++++ tools/include/uapi/linux/if_link.h | 1 + 5 files changed, 14 insertions(+) diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h index 71bb4cc4d05d..5cc260dead33 100644 --- a/include/net/if_inet6.h +++ b/include/net/if_inet6.h @@ -213,6 +213,8 @@ struct inet6_dev { unsigned long tstamp; /* ipv6InterfaceTable update timestamp */ struct rcu_head rcu; + + unsigned int ra_mtu; }; static inline void ipv6_eth_mc_map(const struct in6_addr *addr, char *buf) diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 4882e81514b6..fcd1ae29f154 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h @@ -417,6 +417,7 @@ enum { IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ IFLA_INET6_TOKEN, /* device token */ IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ + IFLA_INET6_RA_MTU, /* mtu carried in the RA message */ __IFLA_INET6_MAX }; diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 3bf685fe64b9..98eeaba9f86c 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -5537,6 +5537,7 @@ static inline size_t inet6_ifla6_size(void) + nla_total_size(ICMP6_MIB_MAX * 8) /* IFLA_INET6_ICMP6STATS */ + nla_total_size(sizeof(struct in6_addr)) /* IFLA_INET6_TOKEN */ + nla_total_size(1) /* IFLA_INET6_ADDR_GEN_MODE */ + + nla_total_size(4) /* IFLA_INET6_RA_MTU */ + 0; } @@ -5645,6 +5646,9 @@ static int inet6_fill_ifla6_attrs(struct sk_buff *skb, struct inet6_dev *idev, if (nla_put_u8(skb, IFLA_INET6_ADDR_GEN_MODE, idev->cnf.addr_gen_mode)) goto nla_put_failure; + if (nla_put_u32(skb, IFLA_INET6_RA_MTU, idev->ra_mtu)) + goto nla_put_failure; + return 0; nla_put_failure: @@ -5761,6 +5765,7 @@ static int inet6_set_iftoken(struct inet6_dev *idev, struct in6_addr *token, static const struct nla_policy inet6_af_policy[IFLA_INET6_MAX + 1] = { [IFLA_INET6_ADDR_GEN_MODE] = { .type = NLA_U8 }, [IFLA_INET6_TOKEN] = { .len = sizeof(struct in6_addr) }, + [IFLA_INET6_RA_MTU] = { .type = NLA_U32 }, }; static int check_addr_gen_mode(int mode) diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index c467c6419893..9c6417a8e2b7 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -1496,6 +1496,11 @@ static void ndisc_router_discovery(struct sk_buff *skb) memcpy(&n, ((u8 *)(ndopts.nd_opts_mtu+1))+2, sizeof(mtu)); mtu = ntohl(n); + if (in6_dev->ra_mtu != mtu) { + in6_dev->ra_mtu = mtu; + ND_PRINTK(2, info, "update ra_mtu to %d\n", in6_dev->ra_mtu); + } + if (mtu < IPV6_MIN_MTU || mtu > skb->dev->mtu) { ND_PRINTK(2, warn, "RA: invalid mtu: %d\n", mtu); } else if (in6_dev->cnf.mtu6 != mtu) { diff --git a/tools/include/uapi/linux/if_link.h b/tools/include/uapi/linux/if_link.h index d208b2af697f..303085cdc271 100644 --- a/tools/include/uapi/linux/if_link.h +++ b/tools/include/uapi/linux/if_link.h @@ -230,6 +230,7 @@ enum { IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ IFLA_INET6_TOKEN, /* device token */ IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ + IFLA_INET6_RA_MTU, /* mtu carried in the RA message */ __IFLA_INET6_MAX }; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel