diff options
author | Ratan Gupta <ratagupt@in.ibm.com> | 2017-12-21 08:20:25 +0530 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-01-24 13:53:44 +0000 |
commit | e962941dec307fbf7048eda52c04c5c494c6967d (patch) | |
tree | e111ca93835863897de08f7d3a9d1b849e6b49a7 | |
parent | 9481230bc7ba5c186bde99719bf5e8a60cac45a5 (diff) | |
download | phosphor-networkd-e962941dec307fbf7048eda52c04c5c494c6967d.tar.gz phosphor-networkd-e962941dec307fbf7048eda52c04c5c494c6967d.zip |
Don't handle the ipv6 routing advertisement message
In ipv6 network where ipv6 router is there which keeps advertising
the router prefix, as part of handling this message BMC keeps adding the
new IP address on the interface which is leading to refresh the
network objects periodically.
This fix stops accepting the router advertisement messaage.
Resolves openbmc/openbmc#2739
Change-Id: I0a4068b5419133a25a2ea3f769f730e73860da50
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
-rw-r--r-- | ethernet_interface.cpp | 1 | ||||
-rw-r--r-- | network_config.cpp | 1 | ||||
-rw-r--r-- | network_manager_main.cpp | 6 |
3 files changed, 8 insertions, 0 deletions
diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp index f58c752..0721eed 100644 --- a/ethernet_interface.cpp +++ b/ethernet_interface.cpp @@ -554,6 +554,7 @@ void EthernetInterface::writeConfigurationFile() // write the network section stream << "[" << "Network" << "]\n"; stream << "LinkLocalAddressing=yes\n"; + stream << "IPv6AcceptRA=false\n"; // Add the VLAN entry for (const auto& intf: vlanInterfaces) diff --git a/network_config.cpp b/network_config.cpp index d0aa2b4..84cf3dc 100644 --- a/network_config.cpp +++ b/network_config.cpp @@ -17,6 +17,7 @@ namespace bmc filestream.open(filename); filestream << "[Match]\nName=" << interface << "\n[Network]\nDHCP=true\nLinkLocalAddressing=yes\n" + "IPv6AcceptRA=false\n" "[DHCP]\nClientIdentifier=mac\n"; filestream.close(); } diff --git a/network_manager_main.cpp b/network_manager_main.cpp index a428bce..d13a857 100644 --- a/network_manager_main.cpp +++ b/network_manager_main.cpp @@ -124,6 +124,12 @@ int main(int argc, char *argv[]) // will create it. phosphor::network::restartNetwork(); } + else + { + // this will add the additional fixes which is needed + // in the existing network file. + phosphor::network::manager->writeToConfigurationFile(); + } //RtnetLink socket phosphor::Descriptor smartSock; |