code: func (n *NIC) Subnets() []tcpip.Subnet {
  	n.mu.RLock()
  	defer n.mu.RUnlock()
  	sns := make([]tcpip.Subnet, 0, len(n.subnets)+len(n.endpoints))
  	for nid := range n.endpoints {
  		sn, err := tcpip.NewSubnet(nid.LocalAddress, tcpip.AddressMask(strings.Repeat("\xff", len(nid.LocalAddress))))
  		if err != nil {
  			// This should never happen as the mask has been carefully crafted to
  			// match the address.
  			panic("Invalid endpoint subnet: " + err.Error())
  		}
  		sns = append(sns, sn)
  	}
  	return append(sns, n.subnets...)
  }
docs: // Subnets returns the Subnets associated with this NIC.