From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v11 25/27] setup and control colo proxy on primary side Date: Fri, 4 Mar 2016 16:41:29 +0800 Message-ID: <1457080891-26054-26-git-send-email-xiecl.fnst@cn.fujitsu.com> References: <1457080891-26054-1-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457080891-26054-1-git-send-email-xiecl.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen devel , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Changlong Xie , Wen Congyang , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org RnJvbTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KClNpZ25lZC1vZmYtYnk6 IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgpTaWduZWQtb2ZmLWJ5 OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaGFu Z2xvbmcgWGllIDx4aWVjbC5mbnN0QGNuLmZ1aml0c3UuY29tPgotLS0KIHRvb2xzL2xpYnhsL2xp YnhsX2NvbG9fc2F2ZS5jIHwgMTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCAgfCAgIDEgKwogMiBmaWxlcyBj aGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fc2F2 ZS5jCmluZGV4IDk3ZWZjOGQuLmJiNDRlNjYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhs X2NvbG9fc2F2ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fc2F2ZS5jCkBAIC0xOCw5 ICsxOCwxMSBAQAogCiAjaW5jbHVkZSAibGlieGxfaW50ZXJuYWwuaCIKIAorZXh0ZXJuIGNvbnN0 IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgY29sb19zYXZlX2RldmljZV9u aWM7CiBleHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNlX29wcyBj b2xvX3NhdmVfZGV2aWNlX3FkaXNrOwogCiBzdGF0aWMgY29uc3QgbGlieGxfX2NoZWNrcG9pbnRf ZGV2aWNlX2luc3RhbmNlX29wcyAqY29sb19vcHNbXSA9IHsKKyAgICAmY29sb19zYXZlX2Rldmlj ZV9uaWMsCiAgICAgJmNvbG9fc2F2ZV9kZXZpY2VfcWRpc2ssCiAgICAgTlVMTCwKIH07CkBAIC0z Miw5ICszNCwxNSBAQCBzdGF0aWMgaW50IGluaXRfZGV2aWNlX3N1YmtpbmQobGlieGxfX2NoZWNr cG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQogICAgIGludCByYzsKICAgICBTVEFURV9BT19HQyhj ZHMtPmFvKTsKIAotICAgIHJjID0gaW5pdF9zdWJraW5kX3FkaXNrKGNkcyk7CisgICAgcmMgPSBp bml0X3N1YmtpbmRfY29sb19uaWMoY2RzKTsKICAgICBpZiAocmMpIGdvdG8gb3V0OwogCisgICAg cmMgPSBpbml0X3N1YmtpbmRfcWRpc2soY2RzKTsKKyAgICBpZiAocmMpIHsKKyAgICAgICAgY2xl YW51cF9zdWJraW5kX2NvbG9fbmljKGNkcyk7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKwog ICAgIHJjID0gMDsKIG91dDoKICAgICByZXR1cm4gcmM7CkBAIC00NSw2ICs1Myw3IEBAIHN0YXRp YyB2b2lkIGNsZWFudXBfZGV2aWNlX3N1YmtpbmQobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z dGF0ZSAqY2RzKQogICAgIC8qIGNsZWFudXAgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUg aW4gdGhlIGxpYnhsIGN0eCAqLwogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCisgICAgY2xl YW51cF9zdWJraW5kX2NvbG9fbmljKGNkcyk7CiAgICAgY2xlYW51cF9zdWJraW5kX3FkaXNrKGNk cyk7CiB9CiAKQEAgLTg5LDkgKzk4LDE2IEBAIHZvaWQgbGlieGxfX2NvbG9fc2F2ZV9zZXR1cChs aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jb2xvX3NhdmVfc3RhdGUgKmNzcykKICAgICBjc3MtPnBh dXNlZCA9IHRydWU7CiAgICAgY3NzLT5xZGlza19zZXR1cGVkID0gZmFsc2U7CiAgICAgY3NzLT5x ZGlza191c2VkID0gZmFsc2U7CisgICAgbGlieGxfX2V2X2NoaWxkX2luaXQoJmNzcy0+Y2hpbGQp OworCisgICAgaWYgKGRzcy0+cmVtdXMtPm5ldGJ1ZnNjcmlwdCkKKyAgICAgICAgY3NzLT5jb2xv X3Byb3h5X3NjcmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIGRzcy0+cmVtdXMtPm5ldGJ1ZnNjcmlw dCk7CisgICAgZWxzZQorICAgICAgICBjc3MtPmNvbG9fcHJveHlfc2NyaXB0ID0gR0NTUFJJTlRG KCIlcy9jb2xvLXByb3h5LXNldHVwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9feGVuX3NjcmlwdF9kaXJfcGF0aCgpKTsKIAotICAgIC8qIFRPRE86 IG5pYyBzdXBwb3J0ICovCi0gICAgY2RzLT5kZXZpY2Vfa2luZF9mbGFncyA9ICgxIDw8IExJQlhM X19ERVZJQ0VfS0lORF9WQkQpOworICAgIGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgPSAoMSA8PCBM SUJYTF9fREVWSUNFX0tJTkRfVklGKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgx IDw8IExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOwogICAgIGNkcy0+b3BzID0gY29sb19vcHM7CiAg ICAgY2RzLT5jYWxsYmFjayA9IGNvbG9fc2F2ZV9zZXR1cF9kb25lOwogICAgIGNkcy0+YW8gPSBh bzsKQEAgLTEwMiw2ICsxMTgsMTIgQEAgdm9pZCBsaWJ4bF9fY29sb19zYXZlX3NldHVwKGxpYnhs X19lZ2MgKmVnYywgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKQogICAgIGNzcy0+c3JzLmZk ID0gY3NzLT5yZWN2X2ZkOwogICAgIGNzcy0+c3JzLmJhY2tfY2hhbm5lbCA9IHRydWU7CiAgICAg bGlieGxfX3N0cmVhbV9yZWFkX3N0YXJ0KGVnYywgJmNzcy0+c3JzKTsKKyAgICBjc3MtPmNwcy5h byA9IGFvOworICAgIGlmIChjb2xvX3Byb3h5X3NldHVwKCZjc3MtPmNwcykpIHsKKyAgICAgICAg TE9HKEVSUk9SLCAiQ09MTzogZmFpbGVkIHRvIHNldHVwIGNvbG8gcHJveHkgZm9yIGd1ZXN0IHdp dGggZG9taWQgJXUiLAorICAgICAgICAgICAgY2RzLT5kb21pZCk7CisgICAgICAgIGdvdG8gb3V0 OworICAgIH0KIAogICAgIGlmIChpbml0X2RldmljZV9zdWJraW5kKGNkcykpCiAgICAgICAgIGdv dG8gb3V0OwpAQCAtMTg5LDYgKzIxMSw3IEBAIHN0YXRpYyB2b2lkIGNvbG9fdGVhcmRvd25fZG9u ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBD T05UQUlORVJfT0YoY3NzLCAqZHNzLCBjc3MpOwogCiAgICAgY2xlYW51cF9kZXZpY2Vfc3Via2lu ZChjZHMpOworICAgIGNvbG9fcHJveHlfdGVhcmRvd24oJmNzcy0+Y3BzKTsKICAgICBkc3MtPmNh bGxiYWNrKGVnYywgZHNzLCByYyk7CiB9CiAKQEAgLTM4MSw2ICs0MDQsOCBAQCBzdGF0aWMgdm9p ZCBjb2xvX3JlYWRfc3ZtX3JlYWR5X2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICBnb3Rv IG91dDsKICAgICB9CiAKKyAgICBjb2xvX3Byb3h5X3ByZXJlc3VtZSgmY3NzLT5jcHMpOworCiAg ICAgY3NzLT5zdm1fcnVubmluZyA9IHRydWU7CiAgICAgZHNzLT5jZHMuY2FsbGJhY2sgPSBjb2xv X3ByZXJlc3VtZV9jYjsKICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3ByZXJlc3VtZShl Z2MsICZkc3MtPmNkcyk7CkBAIC00NjUsNiArNDkwLDggQEAgc3RhdGljIHZvaWQgY29sb19yZWFk X3N2bV9yZXN1bWVkX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICBnb3RvIG91dDsKICAg ICB9CiAKKyAgICBjb2xvX3Byb3h5X3Bvc3RyZXN1bWUoJmNzcy0+Y3BzKTsKKwogICAgIG9rID0g MTsKIAogb3V0OgpAQCAtNDczLDYgKzUwMCw5MSBAQCBvdXQ6CiAKIAogLyogPT09PT09PT09PT09 PT09PT09PT09IGNvbG86IHdhaXQgbmV3IGNoZWNrcG9pbnQgPT09PT09PT09PT09PT09PT09PT09 ICovCisKK3N0YXRpYyB2b2lkIGNvbG9fc3RhcnRfbmV3X2NoZWNrcG9pbnQobGlieGxfX2VnYyAq ZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2tw b2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCByYyk7CitzdGF0aWMgdm9pZCBjb2xvX3Byb3h5X2FzeW5jX3dhaXRfZm9yX2No ZWNrcG9pbnQobGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKTsKK3N0YXRpYyB2b2lkIGNvbG9f cHJveHlfYXN5bmNfY2FsbF9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19ldl9jaGlsZCAqY2hpbGQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IHN0YXR1cyk7CisKK3N0YXRpYyB2b2lkIGNvbG9fcHJv eHlfYXN5bmNfY2FsbChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZvaWQgZnVuYyhsaWJ4bF9fY29sb19zYXZlX3N0YXRlICopLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19ldl9jaGlsZF9jYWxsYmFjayBj YWxsYmFjaykKK3sKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5F Ul9PRihjc3MsICpkc3MsIGNzcyk7CisgICAgaW50IHBpZCA9IC0xLCByYzsKKworICAgIFNUQVRF X0FPX0dDKGRzcy0+Y2RzLmFvKTsKKworICAgIC8qIEZvcmsgYW5kIGNhbGwgKi8KKyAgICBwaWQg PSBsaWJ4bF9fZXZfY2hpbGRfZm9yayhnYywgJmNzcy0+Y2hpbGQsIGNhbGxiYWNrKTsKKyAgICBp ZiAocGlkID09IC0xKSB7CisgICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBmb3JrIik7Cisg ICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAg aWYgKCFwaWQpIHsKKyAgICAgICAgLyogY2hpbGQgKi8KKyAgICAgICAgZnVuYyhjc3MpOworICAg ICAgICAvKiBub3RyZWFjaGVkICovCisgICAgICAgIGFib3J0KCk7CisgICAgfQorCisgICAgcmV0 dXJuOworCitvdXQ6CisgICAgY2FsbGJhY2soZWdjLCAmY3NzLT5jaGlsZCwgLTEsIDEpOworfQor CitzdGF0aWMgdm9pZCBjb2xvX3Byb3h5X3dhaXRfZm9yX2NoZWNrcG9pbnQobGlieGxfX2VnYyAq ZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19j b2xvX3NhdmVfc3RhdGUgKmNzcykKK3sKKyAgICBjb2xvX3Byb3h5X2FzeW5jX2NhbGwoZWdjLCBj c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9fcHJveHlfYXN5bmNfd2FpdF9mb3Jf Y2hlY2twb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb19wcm94eV9hc3luY19j YWxsX2RvbmUpOworfQorCitzdGF0aWMgdm9pZCBjb2xvX3Byb3h5X2FzeW5jX3dhaXRfZm9yX2No ZWNrcG9pbnQobGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKQoreworICAgIGludCByZXE7CisK KyAgICByZXEgPSBjb2xvX3Byb3h5X2NoZWNrcG9pbnQoJmNzcy0+Y3BzLCA1MDAwMDAwKTsKKyAg ICBpZiAocmVxIDwgMCkgeworICAgICAgICAvKiBzb21lIGVycm9yIGhhcHBlbnMgKi8KKyAgICAg ICAgX2V4aXQoMSk7CisgICAgfSBlbHNlIGlmICghcmVxKSB7CisgICAgICAgIC8qIG5vIGNoZWNr cG9pbnQgaXMgbmVlZGVkLCBkbyBhIGNoZWNrcGludCBldmVyeSA1cyAqLworICAgICAgICBfZXhp dCgwKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvKiBuZXQgcGFja2V0cyBpcyBub3QgY29uc2lz dGVudCwgd2UgbmVlZCB0byBzdGFydCBhIGNoZWNrcG9pbnQgKi8KKyAgICAgICAgX2V4aXQoMCk7 CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBjb2xvX3Byb3h5X2FzeW5jX2NhbGxfZG9uZShsaWJ4 bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9fZXZfY2hpbGQgKmNoaWxkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IHBpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz dGF0dXMpCit7CisgICAgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzID0gQ09OVEFJTkVSX09G KGNoaWxkLCAqY3NzLCBjaGlsZCk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3Mg PSBDT05UQUlORVJfT0YoY3NzLCAqZHNzLCBjc3MpOworCisgICAgRUdDX0dDOworCisgICAgaWYg KHN0YXR1cykgeworICAgICAgICBMT0coRVJST1IsICJmYWlsZWQgdG8gd2FpdCBmb3IgbmV3IGNo ZWNrcG9pbnQiKTsKKyAgICAgICAgY29sb19zdGFydF9uZXdfY2hlY2twb2ludChlZ2MsICZkc3Mt PmNkcywgRVJST1JfRkFJTCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb2xvX3N0 YXJ0X25ld19jaGVja3BvaW50KGVnYywgJmRzcy0+Y2RzLCAwKTsKK30KKwogLyoKICAqIERvIHRo ZSBmb2xsb3dpbmcgdGhpbmdzOgogICogMS4gZG8gY29tbWl0CkBAIC00ODIsOSArNTk0LDYgQEAg b3V0Ogogc3RhdGljIHZvaWQgY29sb19kZXZpY2VfY29tbWl0X2NiKGxpYnhsX19lZ2MgKmVnYywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZp Y2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJj KTsKLXN0YXRpYyB2b2lkIGNvbG9fc3RhcnRfbmV3X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdj LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2lu dF9kZXZpY2VzX3N0YXRlICpjZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCByYyk7CiAKIHN0YXRpYyB2b2lkIGxpYnhsX19jb2xvX3NhdmVfZG9tYWluX3dhaXRf Y2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQogewpAQCAtNTE0LDggKzYyMyw3IEBAIHN0 YXRpYyB2b2lkIGNvbG9fZGV2aWNlX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAg IGdvdG8gb3V0OwogICAgIH0KIAotICAgIC8qIFRPRE86IHdhaXQgYSBuZXcgY2hlY2twb2ludCAq LwotICAgIGNvbG9fc3RhcnRfbmV3X2NoZWNrcG9pbnQoZWdjLCBjZHMsIDApOworICAgIGNvbG9f cHJveHlfd2FpdF9mb3JfY2hlY2twb2ludChlZ2MsIGNzcyk7CiAgICAgcmV0dXJuOwogCiBvdXQ6 CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaAppbmRleCBkZGFhZmM2Li5kZDlkMDBmIDEwMDY0NAotLS0gYS90b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFs LmgKQEAgLTMxOTgsNiArMzE5OCw3IEBAIHN0cnVjdCBsaWJ4bF9fY29sb19zYXZlX3N0YXRlIHsK IAogICAgIC8qIHByaXZhdGUsIHVzZWQgYnkgY29sby1wcm94eSAqLwogICAgIGxpYnhsX19jb2xv X3Byb3h5X3N0YXRlIGNwczsKKyAgICBsaWJ4bF9fZXZfY2hpbGQgY2hpbGQ7CiB9OwogCiB0eXBl ZGVmIHN0cnVjdCBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoIHsKLS0gCjEuOS4zCgoKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=