{"action":"created","issue":{"url":"https://api.github.com/repos/google/metallb/issues/329","repository_url":"https://api.github.com/repos/google/metallb","labels_url":"https://api.github.com/repos/google/metallb/issues/329/labels{/name}","comments_url":"https://api.github.com/repos/google/metallb/issues/329/comments","events_url":"https://api.github.com/repos/google/metallb/issues/329/events","html_url":"https://github.com/google/metallb/pull/329","id":371027475,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzNTY3MTcz","number":329,"title":"Introduce a messageHandler object for bgp","user":{"login":"uablrek","id":37046727,"node_id":"MDQ6VXNlcjM3MDQ2NzI3","avatar_url":"https://avatars1.githubusercontent.com/u/37046727?v=4","gravatar_id":"","url":"https://api.github.com/users/uablrek","html_url":"https://github.com/uablrek","followers_url":"https://api.github.com/users/uablrek/followers","following_url":"https://api.github.com/users/uablrek/following{/other_user}","gists_url":"https://api.github.com/users/uablrek/gists{/gist_id}","starred_url":"https://api.github.com/users/uablrek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uablrek/subscriptions","organizations_url":"https://api.github.com/users/uablrek/orgs","repos_url":"https://api.github.com/users/uablrek/repos","events_url":"https://api.github.com/users/uablrek/events{/privacy}","received_events_url":"https://api.github.com/users/uablrek/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-17T11:32:12Z","updated_at":"2018-10-22T08:38:47Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/google/metallb/pulls/329","html_url":"https://github.com/google/metallb/pull/329","diff_url":"https://github.com/google/metallb/pull/329.diff","patch_url":"https://github.com/google/metallb/pull/329.patch"},"body":"The messageHandler will be used for ipv6 support while leaving\r\nthe existing and working ipv4 code untouched.\r\n\r\n**What this PR does / why we need it**:\r\n\r\nThis PR addresses a code separation problem when support for ipv6 in the speaker is introduced. The message handling should be handled by an object `messageHandler` rather than a set of functions. A ipv6 messageHandler can be introduced while leaving ipv4 code as-is.\r\n\r\nThe current ipv4 code for bgp must not be altered when support for ipv6 is introduced. This would cause maintenance problems and likely bugs.\r\n\r\n**Which issue(s) this PR fixes**\r\n\r\nThis is yet another step on the way for #7 \r\n\r\n**Special notes for your reviewer**:\r\n\r\nThe PR is not complete and contains only updates for the setup and the `sendUpdate` function. The intention with this PR is to propose a way of adding ipv6 support in a non-intrusive way and come to an agreement about how to add ipv6 support.\r\n\r\nIn the existing `messages.go` only object variables are added in front of selected (every?) function. The rest of the code is not altered.\r\n\r\nA skeleton `messages-ipv6.go` is added to show the concept. It return ok (nil) to prevent re-start of the session while developing. For ipv6 it is stable but not working. The `messages-ipv6.go` will later contain the ipv6 support for bgp.\r\n\r\nIf the proposed approach is acceptable this PR can be merged as-is, or it can be filled with more code to be more complete.\r\n"},"comment":{"url":"https://api.github.com/repos/google/metallb/issues/comments/431773995","html_url":"https://github.com/google/metallb/pull/329#issuecomment-431773995","issue_url":"https://api.github.com/repos/google/metallb/issues/329","id":431773995,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMTc3Mzk5NQ==","user":{"login":"uablrek","id":37046727,"node_id":"MDQ6VXNlcjM3MDQ2NzI3","avatar_url":"https://avatars1.githubusercontent.com/u/37046727?v=4","gravatar_id":"","url":"https://api.github.com/users/uablrek","html_url":"https://github.com/uablrek","followers_url":"https://api.github.com/users/uablrek/followers","following_url":"https://api.github.com/users/uablrek/following{/other_user}","gists_url":"https://api.github.com/users/uablrek/gists{/gist_id}","starred_url":"https://api.github.com/users/uablrek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uablrek/subscriptions","organizations_url":"https://api.github.com/users/uablrek/orgs","repos_url":"https://api.github.com/users/uablrek/repos","events_url":"https://api.github.com/users/uablrek/events{/privacy}","received_events_url":"https://api.github.com/users/uablrek/received_events","type":"User","site_admin":false},"created_at":"2018-10-22T08:38:47Z","updated_at":"2018-10-22T08:38:47Z","author_association":"CONTRIBUTOR","body":"This PR is updated with support for update messages for announce/withdraw for ipv6. The speaker is now functional for ipv6 but with a limitation; all addresses are assumed to be /128. I.e. no ranges are announced. This is the normal case for load-balancer addresses I think but needs to be addresses anyway in the future.\r\n\r\nTesting is done manually on [xcluster](https://github.com/Nordix/xcluster).\r\n\r\nThe failed CI tests does not seem related to this PR.\r\n"}}
{"actor":{"display_login":"uablrek"}}