From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glenn Griffin Subject: [PATCH v2] openvswitch: Fix L4 checksum handling when dealing with IP fragments Date: Mon, 3 Aug 2015 09:56:54 -0700 Message-ID: <20150803165654.GA16892@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 To: Pravin Shelar , "David S. Miller" , netdev , "dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org" , LKML Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-yBygre7rU0TnMu66kgdUjQ@public.gmane.org Sender: "dev" List-Id: netdev.vger.kernel.org b3BlbnZzd2l0Y2ggbW9kaWZpZXMgdGhlIEw0IGNoZWNrc3VtIG9mIGEgcGFja2V0IHdoZW4gbW9k aWZ5aW5nCnRoZSBpcCBhZGRyZXNzLiBXaGVuIGFuIElQIHBhY2tldCBpcyBmcmFnbWVudGVkIG9u bHkgdGhlIGZpcnN0CmZyYWdtZW50IGNvbnRhaW5zIGFuIEw0IGhlYWRlciBhbmQgY2hlY2tzdW0u IFByaW9yIHRvIHRoaXMgY2hhbmdlCm9wZW52c3dpdGNoIHdvdWxkIG1vZGlmeSBhbGwgZnJhZ21l bnRzLCBtb2RpZnlpbmcgYXBwbGljYXRpb24gZGF0YQppbiBub24tZmlyc3QgZnJhZ21lbnRzLCBj YXVzaW5nIGNoZWNrc3VtIGZhaWx1cmVzIGluIHRoZQpyZWFzc2VtYmxlZCBwYWNrZXQuCgpTaWdu ZWQtb2ZmLWJ5OiBHbGVubiBHcmlmZmluIDxnZ3JpZmZpbi5rZXJuZWxAZ21haWwuY29tPgotLS0K Q2hhbmdlcyBpbiB2MjoKICAtIENvbXBhcmUgZnJhZ19vZmYgaW4gbmV0d29yayBieXRlIG9yZGVy IHJhdGhlciB0aGFuIGhvc3QgYnl0ZSBvcmRlcgoKIG5ldC9vcGVudnN3aXRjaC9hY3Rpb25zLmMg fCAxNiArKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvYWN0aW9ucy5jIGIv bmV0L29wZW52c3dpdGNoL2FjdGlvbnMuYwppbmRleCA4YThjMGI4Li5lZTM0ZjQ3IDEwMDY0NAot LS0gYS9uZXQvb3BlbnZzd2l0Y2gvYWN0aW9ucy5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9hY3Rp b25zLmMKQEAgLTI3MywyOCArMjczLDM2IEBAIHN0YXRpYyBpbnQgc2V0X2V0aF9hZGRyKHN0cnVj dCBza19idWZmICpza2IsIHN0cnVjdCBzd19mbG93X2tleSAqZmxvd19rZXksCiAJcmV0dXJuIDA7 CiB9CiAKLXN0YXRpYyB2b2lkIHNldF9pcF9hZGRyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVj dCBpcGhkciAqbmgsCi0JCQlfX2JlMzIgKmFkZHIsIF9fYmUzMiBuZXdfYWRkcikKK3N0YXRpYyB2 b2lkIHVwZGF0ZV9pcF9sNF9jaGVja3N1bShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgaXBo ZHIgKm5oLAorCQkJCSAgX19iZTMyIGFkZHIsIF9fYmUzMiBuZXdfYWRkcikKIHsKIAlpbnQgdHJh bnNwb3J0X2xlbiA9IHNrYi0+bGVuIC0gc2tiX3RyYW5zcG9ydF9vZmZzZXQoc2tiKTsKIAorCWlm IChuaC0+ZnJhZ19vZmYgJiBodG9ucyhJUF9PRkZTRVQpKQorCQlyZXR1cm47CisKIAlpZiAobmgt PnByb3RvY29sID09IElQUFJPVE9fVENQKSB7CiAJCWlmIChsaWtlbHkodHJhbnNwb3J0X2xlbiA+ PSBzaXplb2Yoc3RydWN0IHRjcGhkcikpKQogCQkJaW5ldF9wcm90b19jc3VtX3JlcGxhY2U0KCZ0 Y3BfaGRyKHNrYiktPmNoZWNrLCBza2IsCi0JCQkJCQkgKmFkZHIsIG5ld19hZGRyLCAxKTsKKwkJ CQkJCSBhZGRyLCBuZXdfYWRkciwgMSk7CiAJfSBlbHNlIGlmIChuaC0+cHJvdG9jb2wgPT0gSVBQ Uk9UT19VRFApIHsKIAkJaWYgKGxpa2VseSh0cmFuc3BvcnRfbGVuID49IHNpemVvZihzdHJ1Y3Qg dWRwaGRyKSkpIHsKIAkJCXN0cnVjdCB1ZHBoZHIgKnVoID0gdWRwX2hkcihza2IpOwogCiAJCQlp ZiAodWgtPmNoZWNrIHx8IHNrYi0+aXBfc3VtbWVkID09IENIRUNLU1VNX1BBUlRJQUwpIHsKIAkJ CQlpbmV0X3Byb3RvX2NzdW1fcmVwbGFjZTQoJnVoLT5jaGVjaywgc2tiLAotCQkJCQkJCSAqYWRk ciwgbmV3X2FkZHIsIDEpOworCQkJCQkJCSBhZGRyLCBuZXdfYWRkciwgMSk7CiAJCQkJaWYgKCF1 aC0+Y2hlY2spCiAJCQkJCXVoLT5jaGVjayA9IENTVU1fTUFOR0xFRF8wOwogCQkJfQogCQl9CiAJ fQorfQogCitzdGF0aWMgdm9pZCBzZXRfaXBfYWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1 Y3QgaXBoZHIgKm5oLAorCQkJX19iZTMyICphZGRyLCBfX2JlMzIgbmV3X2FkZHIpCit7CisJdXBk YXRlX2lwX2w0X2NoZWNrc3VtKHNrYiwgbmgsICphZGRyLCBuZXdfYWRkcik7CiAJY3N1bV9yZXBs YWNlNCgmbmgtPmNoZWNrLCAqYWRkciwgbmV3X2FkZHIpOwogCXNrYl9jbGVhcl9oYXNoKHNrYik7 CiAJKmFkZHIgPSBuZXdfYWRkcjsKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkZXYgbWFpbGluZyBsaXN0CmRldkBvcGVudnN3aXRjaC5v cmcKaHR0cDovL29wZW52c3dpdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Rldgo=