func NewLayer(address Address, router Router, eth ethernet.Layer) Layer {
	l := &layer{
		address:  address,
		router:   router,
		eth:      eth,
		channels: make(map[Protocol]chan Packet),
	}
	go l.run()
	return l
}
// NewLayer creates a new instance of the default IPv4 layer.
NewLayer creates a new instance of the default IPv4 layer.
// NewLayer creates a new instance of the default IPv4 layer .
func NewLayer(address Address, router Router, eth ethernet.Layer) Layer {
	l := &layer{
		address:  address,
		router:   router,
		eth:      eth,
		channels: make(map[Protocol]chan Packet),
	}
	go l.run()
	return l
}
func NewLayer ( address Address , router Router , eth ethernet . Layer ) Layer { l := & layer { address : address , router : router , eth : eth , channels : make ( map [ Protocol ] chan Packet ) , } go l . run ( ) return l }
NewLayer creates a new instance of the default IPv4 layer.
NewLayer creates a new instance of the default IPv4 layer .