Skip to content

Commit

Permalink
network: Do not configure protos on DSA ports...
Browse files Browse the repository at this point in the history
...by default, to avoid configuring switch ports simultaneously for
stand-alone mode and bridge mode. 'config net' sections can still be
used to configure routing protocols on switch port network devices.
  • Loading branch information
pony1k authored and ilario committed Jan 22, 2025
1 parent 0628c9e commit c77abb3
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions packages/lime-system/files/usr/lib/lua/lime/network.lua
Original file line number Diff line number Diff line change
Expand Up @@ -397,10 +397,18 @@ function network.configure()

for _,protoParams in pairs(deviceProtos) do
local args = utils.split(protoParams, network.protoParamsSeparator)
if args[1] == "manual" then break end -- If manual is specified do not configure interface
local protoModule = "lime.proto."..args[1]
for k,v in pairs(flags) do args[k] = v end
if utils.isModuleAvailable(protoModule) then
local protoName = args[1]
if protoName == "manual" then break end -- If manual is specified do not configure interface
local protoModule = "lime.proto."..protoName
local needsConfig = utils.isModuleAvailable(protoModule)
if protoName ~= 'lan' and not flags["specific"] then
--! Work around issue 1121. Do not configure any other
--! protocols than lime.proto.lan on dsa devices unless there
--! is a config net section for the device.
needsConfig = needsConfig and not utils.is_dsa(device)
end
if needsConfig then
for k,v in pairs(flags) do args[k] = v end
local proto = require(protoModule)
xpcall(function() proto.configure(args) ; proto.setup_interface(device, args) end,
function(errmsg) print(errmsg) ; print(debug.traceback()) end)
Expand Down

0 comments on commit c77abb3

Please sign in to comment.