Rajiv Asati's Update to plugin_impl_gobgp.go #24
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is my commit message
Signed-off-by: Rajiv Asati rajiva@cisco.com
Ligato code does NOT work with external .yaml file, because of this:
The above code (line 70) defined externalCfg of pointer type and passed it as-is in PluginConfig.GetValue(externalCfg) in line 71. That meant passing a different memory address from where the external file really was (remember, every time a variable is passed as parameter, a new copy of the variable is created), resulting in a garbage being passed to ParseConfigFromYamlFile function inside p.GetConfigName(), which then returned an error.
Instead, define config.Bgp variable as a pointer to the address where the external .yaml file is, and pass the same pointer in PluginConfig.GetValue(externalCfg) in line 71.
https://gobyexample.com/pointers
http://goinbigdata.com/golang-pass-by-pointer-vs-pass-by-value/