@@ -214,13 +214,15 @@ var CreateNetworkInterfacesHandler = Handler{
214214 },
215215}
216216
217- // SetupNetworkHandler is a named handler that will setup the network namespace
218- // and network interface configuration prior to the Firecracker VMM starting.
219- var SetupNetworkHandler = Handler {
220- Name : SetupNetworkHandlerName ,
221- Fn : func (ctx context.Context , m * Machine ) error {
222- return m .setupNetwork (ctx )
223- },
217+ // NewSetupNetworkHandler will construct a new handler that will setup a given
218+ // network with the provided netns
219+ func NewSetupNetworkHandler (netnsPath string ) Handler {
220+ return Handler {
221+ Name : SetupNetworkHandlerName ,
222+ Fn : func (ctx context.Context , m * Machine ) error {
223+ return m .setupNetwork (ctx , netnsPath )
224+ },
225+ }
224226}
225227
226228// SetupKernelArgsHandler is a named handler that will update any kernel boot
@@ -253,26 +255,28 @@ func NewSetMetadataHandler(metadata interface{}) Handler {
253255 }
254256}
255257
256- var defaultFcInitHandlerList = HandlerList {}.Append (
257- SetupNetworkHandler ,
258- SetupKernelArgsHandler ,
259- StartVMMHandler ,
260- CreateLogFilesHandler ,
261- BootstrapLoggingHandler ,
262- CreateMachineHandler ,
263- CreateBootSourceHandler ,
264- AttachDrivesHandler ,
265- CreateNetworkInterfacesHandler ,
266- AddVsocksHandler ,
267- )
258+ func newDefaultFcInitHandlerList () HandlerList {
259+ return HandlerList {}.Append (
260+ NewSetupNetworkHandler ("" ),
261+ SetupKernelArgsHandler ,
262+ StartVMMHandler ,
263+ CreateLogFilesHandler ,
264+ BootstrapLoggingHandler ,
265+ CreateMachineHandler ,
266+ CreateBootSourceHandler ,
267+ AttachDrivesHandler ,
268+ CreateNetworkInterfacesHandler ,
269+ AddVsocksHandler ,
270+ )
271+ }
268272
269273var defaultValidationHandlerList = HandlerList {}.Append (
270274 NetworkConfigValidationHandler ,
271275)
272276
273277var defaultHandlers = Handlers {
274278 Validation : defaultValidationHandlerList ,
275- FcInit : defaultFcInitHandlerList ,
279+ FcInit : newDefaultFcInitHandlerList () ,
276280}
277281
278282// Handler represents a named handler that contains a name and a function which
0 commit comments