From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.75]) by mx.groups.io with SMTP id smtpd.web08.3788.1662707220599393045 for ; Fri, 09 Sep 2022 00:07:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=dTMcBQI/; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.223.75, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J/Nf9FEElukqj+CUwgt4zbO7D3zWG9yXe4unCLQ5T8wjbhK5fCK0fqkK/HwuI//AqCiEvqJ+v2zaCwrFNZBN98UCgkFjzMC7M7ycTm50ufyu1/c5yPKBXCZMjFXl5Lo8SE3ngGcoaZptSWzCU2w2e8GQkV+/qUdDjHJ2ihvMwtO2TsCWEEkdhyPzzBjsedBbx8EkfXQO0qvw1FyzWcRgrDraochVdS7rmLQ46qiaoRNu5j64g7qS0y424SKmIDvDF4JojEC5ZHwNrj2PGoEiMR4Ev7Pzoz3ulBVANMKc3yrXHPsEvvLm63u3KqBxS5FTbNy2Xs++3jK7CJFD1vu+qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dRR8tefiPDxSlIplcM9HO6bK4ft9NOmF841AqByYMMk=; b=BaHWbwKGjeorb08PIaX3CVLbWE2Gx7yGegk7vCCstngSvjGar9KJoig5vpydqoU3JrLb+QL4x+JPHzxdZ5FSzFP/FI+16KRLwmwzjP2OtxuLtDfFU3Yq8iWKF0ydf1zzHtX9PQVQYSku7txw9+xhucVV+Fyu98eg1UWwIHtA/RrDPZR52/0yrl3mVmYZSdKeX980hTuGOYg+EAk4bJZLD9DS1JIlA5HdX+0gUygWAW1kNn+QQEWeg0sib4R9Rbs67abrnTFUijzmJpBAOxzqj5Em0JD5uUhggyXXyOgp14zpyOOI35KZtlhGv6unxomscZ4lhWR5FV/D14sTCl+1fw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dRR8tefiPDxSlIplcM9HO6bK4ft9NOmF841AqByYMMk=; b=dTMcBQI/jyYypgNyLv63UxJniRTyJMyklBlv/SLN95tEKVyOkdc4opd+wEhUZa6Ufz3RgkAUM75WBjW48ZjnrK9aoWMiwl2cP7Nrdx6XXy5lRTQCxA8poxFz6vhufyKHJPx93uQGsBku/r3biy9D8pEs5Lro2E/CZlCfDG2oUJU= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by DM4PR12MB6327.namprd12.prod.outlook.com (2603:10b6:8:a2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.16; Fri, 9 Sep 2022 07:06:58 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::9c44:17db:7f29:1fa8]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::9c44:17db:7f29:1fa8%7]) with mapi id 15.20.5612.018; Fri, 9 Sep 2022 07:06:58 +0000 From: "Chang, Abner" To: "devel@edk2.groups.io" , "quic_rcran@quicinc.com" , "richardho@ami.com" CC: Andrew Fish , Leif Lindholm , Michael D Kinney , Michael Kubacki , Zhiguang Liu , Liming Gao , =?iso-2022-jp?B?VG9ueUxvIFsbJEJNZTZiPj4bKEJd?= Subject: Re: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network devices support Thread-Topic: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network devices support Thread-Index: AQHYvoxJHCaS+XfGmkKn0h/vNPlrZ63MrkMAgAoAM9A= Date: Fri, 9 Sep 2022 07:06:58 +0000 Message-ID: References: <20220902052418.2253-1-richardho@ami.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-09-09T07:06:56Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=6810cb54-e60d-4156-bfa9-bc06cb0ffc98; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|DM4PR12MB6327:EE_ x-ms-office365-filtering-correlation-id: 07dbde79-ac2e-4807-f161-08da9231e2e4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7SsS20eDgmMF/oXg6bG5lmdcaZHKowWuyN0uAAvA+PDTjrtAwA8B9YTyw92fT2syDMY0FvjfOJJWIdqvc8jlmkhTXxZXezDHXyX7J84sAEiFEOYmTRjyIAoKLg3UYy0A7DlK7mVBK0sCM++GOtOIO/8MBnH8brWP1wChiidi2YocJ4SAz8Uyxb+Ny1/mh5bKf2qOYvJE7J7YCFSp8i4UaNAOYAa95LP9UaeNwzjJ2/gjkaH0aDi0297tlN5cKPWwjdw4Y6bteVIP5/yItQR+mn8igu403wzIel95gjp+f7RDBSCt7X7fWO9UwmNWg4b93qOPEobPqLjcbfkMoZVy7QHmftMUHjfRnp7SoThXMvYWw7674HzN+sL6m0IsoLBjRZ4mPLFyPcpj6drdv4pO+u3e/wE7h25vbsG6Hn+iGdCWr451zBbFvcRwMR71428YCOA8exXZWyo93BeiC4BzGRLmQAdTQxeNStGLQ+W2RvuSlzXkdJml7+L7PXFOqUwQQGUgfd01VYR3D92iFWgwXPNzfBsShAzZ/JitQY69XPubGa0g99Ll22Nu24u5ya/YuJyuC06JtmVwYaqrqVbJyhJQBT8sFXQX386UnfCY/OUgfDYsjcRqw/Cnz0GgKzLy+Z+7p3MMnsc1ucArXB7LVJ/NPA0f3J9RkC46iZ3dQf3wuj3fM+Awwom48lllAqTOXS9vAz+ZY/q/81Qxhf0UD6BUJNtFaJOJc2Nh2pTPqDPmTx0bD5+kHP7GBdtm28RBW4qf6/RvIf42zCy075uAGD8VxXVC/f3vp93l60sqZ/nEjxIJExs9uqdKq3WAM0vwoZllOYKYZOwEId+PV3GKGw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(346002)(376002)(39860400002)(366004)(316002)(2906002)(8936002)(38070700005)(5660300002)(55016003)(71200400001)(7416002)(122000001)(38100700002)(478600001)(966005)(53546011)(7696005)(6506007)(66946007)(83380400001)(64756008)(76116006)(41300700001)(54906003)(66556008)(66446008)(52536014)(45080400002)(110136005)(4326008)(8676002)(26005)(86362001)(186003)(9686003)(66476007)(33656002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?ek9sYzcvOTFoUEhyeS9nSUxCUkFTbnVSSE8ydWhDR2lNUHpzT0tFMEts?= =?iso-2022-jp?B?Tml5SldKVUlTblRiakdjWmxlNVN3S1RvVnZiSnM5dGx1SXBuOHloUHN5?= =?iso-2022-jp?B?dzlHQVI2RDNkOGw2b0crd1lqNVFHdDR6Y2tCYysxTTljQ1Nsci9jeWpM?= =?iso-2022-jp?B?NW9HdEZPNUUrMTVIOHAxNVprYkZ4bVN2OXFmT05EYm9oVDdjTWd2M3FW?= =?iso-2022-jp?B?TjkweXl2YVhjNVFHZHNqVEpxOEFDM3R5S0JUdm5Edm82VVUzTG02ZXc5?= =?iso-2022-jp?B?SXZKT2Y1WS8rdngrVjJHUEVqVWc4NklDVCtZS2I4VU9FcERQTTd1V0hz?= =?iso-2022-jp?B?TWY4eTFwNTlDd29yeERnak5VWTBOOHJJMHFSeWtMNUNaWkdkcUF4dTE3?= =?iso-2022-jp?B?Sit6ZmRxQnBRNVhrTVVIUGVudjFEeDg3NlRhMTJaS09EQ25UUngxcEl0?= =?iso-2022-jp?B?UWhIQnhYb0RvY1NSaExFQjhVZk0yRjFoZkcrSkdnK3B0a0VnRkRrM1Qz?= =?iso-2022-jp?B?Vlgyc2JMODgrTGpNdERCUzZ5ZDhsU0tCN3pQak0vT0cyTHdaQVVPeGtX?= =?iso-2022-jp?B?emlHUXJKdHBPcThCRmVzckMrU1JlTDFYNFo2bUdsWHpmdHZ3eUZRYmhG?= =?iso-2022-jp?B?RkIrNTdYamVJQjNqWXM3V0xJLzdjMEQyV2F4aFlwei9abXJTQ0gwWStw?= =?iso-2022-jp?B?OXZXSmhyazJWejRsWm9GalNURlRFa3pkb0g3eENBRFVyTFlCYlZoNGpD?= =?iso-2022-jp?B?U3ZKb0FSMlNzcHcxN2JsdUF0NkhaZWlybmNHN2FQdGtleWlsZ2V5QXdP?= =?iso-2022-jp?B?Y1NSSUpZWk9nTFdRSVJ4UnU3QjVSdWg3cVlwS0laTXRhTDg4c0xHQ0pS?= =?iso-2022-jp?B?WHMvZ0QvZ2ZLcGN6Q3U1RC9IM3ZiVTROanUyUzE0T0tMQ1p4dVM2OFB4?= =?iso-2022-jp?B?d3VJbWt6K1VEblFqdjRlTUVvcUdJdWozZk1FUEJrOHVaSTczNkJTd0Zh?= =?iso-2022-jp?B?VzdmaGZNTldCNFEreFBORnc0ZzF4bFIwRVhva05XM2JBcnNPREFhOTRE?= =?iso-2022-jp?B?VjRWNW0xOUZMV3h3VTJENHNlSnU0bkxienYrQXB3TUVvSTRMbElsZjFO?= =?iso-2022-jp?B?ekpSdVNIbnBjaHR0cXRhQnloSi8rYTJ0MGh5bU4wQklpQzZRK3J5RTA3?= =?iso-2022-jp?B?blQzazBiZlc0eTVocnFlVGpNeWtzSUV1VHRIZlAvQk9EejlwU28xU3k5?= =?iso-2022-jp?B?bmFPUDZMRnhrSjZOZjIzQ1FkZ1IxVjRCa29BdWo3QkxXNjFJSmdQSlN1?= =?iso-2022-jp?B?Qk5vV1g3bjQ4d3g4UDlRd2g1cDVpN2N4N2t1U3lYMi9mSUVFaEZvMk5G?= =?iso-2022-jp?B?ajU1RXNoZVIwYXR2S2pXZjNsV0V6ai9kdE5TbWVjNnd3eGJDV3BxejRU?= =?iso-2022-jp?B?RW9tT2FENjh3UTNVSjZocWlER2hnaWNFYXdSWEdjSUlGNG90MlF5Vkxt?= =?iso-2022-jp?B?RmQ0cFFKbWJzTmgwQXRiT0VwTDhvTW9kVHU5Z3J5NXhZOHR2T0ZaNTdQ?= =?iso-2022-jp?B?Vis3dlk2V01XeW1BeTBjRk5lckFLaUM0R00wOWV2b2JMSU8yVm1Wd3JE?= =?iso-2022-jp?B?dHZJQysxRGMrbmtzanExYUE5TUtZeS9DZk4rWE1WUnV3cG5qWGRacnVT?= =?iso-2022-jp?B?bVlaUW5XUS9jOWthYXdxLzdhU2ExYy9qdWhTTGtOTzFTanpCQVRBeGxT?= =?iso-2022-jp?B?MThrOWVRNTdLMUtHQVVJalNGTWY1VkJnd2xkSkxySllpUVNLbjI3Vzkz?= =?iso-2022-jp?B?WTFpdmIrblRqTll6dUhQQzZEdUJQODVYNkxqNHZnMWRzb0VKV1dGVy9z?= =?iso-2022-jp?B?aEpvcEZ4amlVc05iUHhJb0dlZUdKUGhIN2FtOVVGakFpNWZZWTQxWHRU?= =?iso-2022-jp?B?ZWFrcUxEN3NDUENybjQyNDdGZTAxTWhjNGZ3b3RFU3lST0lybWVjOTZG?= =?iso-2022-jp?B?UzNlTDdjSDBHaCtqWk1hMkozWC9CN2JTL0l2RHpzc1BGRmN5Z1Rmb0t1?= =?iso-2022-jp?B?aEdKTGxqbitDL0I1NFRCUEYrRmhEQ0hxemVidWllRGE0RXdwMFZPUTQ5?= =?iso-2022-jp?B?eDRVb0E1bThhRTV5M0lVakJXOEpzU2NZR3pEdFR5Wm4zbUQvcFBKRkty?= =?iso-2022-jp?B?b1pjN2lPUnkyMm1DYVVqK29CWDJVWWl0TStsSmN4d0pRMDlkZ21TUkt1?= =?iso-2022-jp?B?SldsSEMyVkxjdHVZL3Qva1V5RzcvMXFDYXZhN2JaYlNWWVI0UzIrUUxw?= =?iso-2022-jp?B?SFZHZw==?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07dbde79-ac2e-4807-f161-08da9231e2e4 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2022 07:06:58.3585 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4uaPYb8CawK127fifPNaRkgFTb0CvvELbqpNa43assb804yp6VMe0tt4CaPaGJKR2fz0WaIvh5E6oxWTgXRYHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6327 Content-Language: en-US Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Richard, That is pretty hard to give the in-line comment in this huge patch email. Y= ou would be also hard to find the comments given to each module or the prot= ocol header file. So fist all of, please organize your change into several patches. For examp= le, 1. UsbEthernetProtocol.h 2. UsbRndis module 3. UsbCdcNcm module 4. UsbCdcEcm module 5. NetworkCommon module Some rough feedbacks to this change before I giving the comments to each pa= tch after you resending the new patch set. 1. I suggest having UsbNetwork folder under MdeModulePkg/Usb/. Then under U= sbNetwork, you can have those four USB network related modules. However, we= can Rename NetwrokCommon to UsbNetwork if your are ok with it. 2. UsbEhernetProtocol is not an EFI protocol, so please add EdkII as the pr= efix to UsbEthernetProtocol, it would be EdkIIUsbEthernetProtocol. And we = can have UsbEthernetProtocol.h under MdeModulePkg/Include/Protocol 4. From this change, NetwrokCommon driver listens to USB_ETHERNET_PROTOCOL = and install EFI NII protocol for each instance. However, the upper layer dr= iver wouldn't know the CDC interface class/subclass/protocol if it only lis= ten to USB_ETHERNET_PROTOCOL and install its own SNP on the specific USB CD= C device; in the case if there are multiple USB CDC devices attached on the= system. Is my understanding correct? 5. I don=1B$B!G=1B(Bt see the UsbEthernetProtocol based SNP protocol is ins= talled and the SNP driver under NetworkPkg has the dependency with PciIo. D= o we have to implement UsbEthernetProtocol based SNP by our own? I will check the functionality on our platform if I get the chance. Thanks Abner > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Rebecca > Cran via groups.io > Sent: Saturday, September 3, 2022 5:48 AM > To: devel@edk2.groups.io; richardho@ami.com > Cc: Andrew Fish ; Leif Lindholm > ; Michael D Kinney > ; Michael Kubacki > ; Zhiguang Liu ; > Liming Gao ; TonyLo [=1B$BMe6b>>=1B(B] > > Subject: Re: [edk2-devel] [PATCH] UsbNetworkPkg: add USB network > devices support >=20 > [CAUTION: External Email] >=20 > I've pushed this patch to a branch at > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgith > ub.com%2Fbcran%2Fedk2%2Ftree%2Fusb- > net&data=3D05%7C01%7Cabner.chang%40amd.com%7C2c812dc15b9542b > 8a64308da8d2cdf2b%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C > 637977521120662673%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwM > DAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7 > C&sdata=3DZFcSw3AL0MnljvyODrv1dYAL8LuadwCYe65xhE1hXWY%3D&a > mp;reserved=3D0 . >=20 > -- > Rebecca Cran >=20 > On 9/1/22 23:24, RichardHo [=1B$B2?L@Ci=1B(B] via groups.io wrote: > > UsbNetworkPkg provides network functions for USB ACM, USB NCM, and > USB > > RNDIS network device. > > > > Signed-off-by: Richard Ho > > Cc: Andrew Fish > > Cc: Leif Lindholm > > Cc: Michael D Kinney > > Cc: Michael Kubacki > > Cc: Zhiguang Liu > > Cc: Liming Gao > > Reviewed-by: Tony Lo > > --- > > UsbNetworkPkg/Config/UsbNetworkPkg.inc.dsc | 9 + > > .../Config/UsbNetworkPkgComponentsDxe.inc.dsc | 20 + > > .../Config/UsbNetworkPkgComponentsDxe.inc.fdf | 20 + > > .../Config/UsbNetworkPkgDefines.inc.dsc | 23 + > > .../Include/Protocol/UsbEthernetProtocol.h | 872 +++++++++ > > UsbNetworkPkg/NetworkCommon/ComponentName.c | 264 +++ > > UsbNetworkPkg/NetworkCommon/DriverBinding.c | 583 ++++++ > > UsbNetworkPkg/NetworkCommon/DriverBinding.h | 263 +++ > > UsbNetworkPkg/NetworkCommon/NetworkCommon.inf | 43 + > > UsbNetworkPkg/NetworkCommon/PxeFunction.c | 1734 > +++++++++++++++++ > > UsbNetworkPkg/ReadMe.md | 65 + > > UsbNetworkPkg/ReleaseNotes.md | 11 + > > UsbNetworkPkg/UsbCdcEcm/ComponentName.c | 170 ++ > > UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.c | 504 +++++ > > UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.h | 211 ++ > > UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.inf | 41 + > > UsbNetworkPkg/UsbCdcEcm/UsbEcmFunction.c | 861 ++++++++ > > UsbNetworkPkg/UsbCdcNcm/ComponentName.c | 170 ++ > > UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.c | 508 +++++ > > UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.h | 245 +++ > > UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.inf | 41 + > > UsbNetworkPkg/UsbCdcNcm/UsbNcmFunction.c | 946 +++++++++ > > UsbNetworkPkg/UsbNetworkPkg.dec | 32 + > > UsbNetworkPkg/UsbRndis/ComponentName.c | 172 ++ > > UsbNetworkPkg/UsbRndis/UsbRndis.c | 848 ++++++++ > > UsbNetworkPkg/UsbRndis/UsbRndis.h | 569 ++++++ > > UsbNetworkPkg/UsbRndis/UsbRndis.inf | 41 + > > UsbNetworkPkg/UsbRndis/UsbRndisFunction.c | 1587 > +++++++++++++++ > > 28 files changed, 10853 insertions(+) > > create mode 100644 UsbNetworkPkg/Config/UsbNetworkPkg.inc.dsc > > create mode 100644 > UsbNetworkPkg/Config/UsbNetworkPkgComponentsDxe.inc.dsc > > create mode 100644 > UsbNetworkPkg/Config/UsbNetworkPkgComponentsDxe.inc.fdf > > create mode 100644 > UsbNetworkPkg/Config/UsbNetworkPkgDefines.inc.dsc > > create mode 100644 > UsbNetworkPkg/Include/Protocol/UsbEthernetProtocol.h > > create mode 100644 > UsbNetworkPkg/NetworkCommon/ComponentName.c > > create mode 100644 UsbNetworkPkg/NetworkCommon/DriverBinding.c > > create mode 100644 UsbNetworkPkg/NetworkCommon/DriverBinding.h > > create mode 100644 > UsbNetworkPkg/NetworkCommon/NetworkCommon.inf > > create mode 100644 UsbNetworkPkg/NetworkCommon/PxeFunction.c > > create mode 100644 UsbNetworkPkg/ReadMe.md > > create mode 100644 UsbNetworkPkg/ReleaseNotes.md > > create mode 100644 UsbNetworkPkg/UsbCdcEcm/ComponentName.c > > create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.c > > create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.h > > create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbCdcEcm.inf > > create mode 100644 UsbNetworkPkg/UsbCdcEcm/UsbEcmFunction.c > > create mode 100644 UsbNetworkPkg/UsbCdcNcm/ComponentName.c > > create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.c > > create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.h > > create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbCdcNcm.inf > > create mode 100644 UsbNetworkPkg/UsbCdcNcm/UsbNcmFunction.c > > create mode 100644 UsbNetworkPkg/UsbNetworkPkg.dec > > create mode 100644 UsbNetworkPkg/UsbRndis/ComponentName.c > > create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndis.c > > create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndis.h > > create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndis.inf > > create mode 100644 UsbNetworkPkg/UsbRndis/UsbRndisFunction.c >=20 >=20 >=20 >=20 >=20